axum-prometheus 0.10.0

A tower middleware to collect and export HTTP metrics for Axum
Documentation
name: Rust

on:
  push:
    branches: ["master"]
  pull_request:
    branches: ["master"]

env:
  CARGO_TERM_COLOR: always

jobs:
  check:
    runs-on: ubuntu-latest

    strategy:
      matrix:
        pwd:
          - .
          - examples

    steps:
      - uses: actions/checkout@master
      - uses: actions-rs/toolchain@v1
        with:
          toolchain: nightly
          override: true
          profile: minimal
          components: clippy, rustfmt
      - uses: Swatinem/rust-cache@v2
        with:
          key: ${{ matrix.pwd }}
          workspaces: ${{ matrix.pwd }}
      - name: clippy
        working-directory: ${{ matrix.pwd }}
        run: |
          cargo clippy --all --all-targets --all-features
      - name: rustfmt
        working-directory: ${{ matrix.pwd }}
        run: |
          cargo fmt --all -- --check
  check-docs:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@master
      - uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          override: true
          profile: minimal
      - uses: Swatinem/rust-cache@v2
      - name: cargo doc
        env:
          RUSTDOCFLAGS: "-D rustdoc::broken-intra-doc-links"
        run: cargo doc --all-features --no-deps

  test:
    needs: check

    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@master
      - uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          override: true
          profile: minimal
      - uses: Swatinem/rust-cache@v2
      - name: Run tests
        uses: actions-rs/cargo@v1
        with:
          command: test
          args: --all --all-features --all-targets

  test-docs:
    needs: check

    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@master
      - uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          override: true
          profile: minimal
      - uses: Swatinem/rust-cache@v2
      - name: Run doc tests
        uses: actions-rs/cargo@v1
        with:
          command: test
          args: --all-features --doc