name: Continuous integration on: push: branches: - master tags: - v* paths-ignore: - 'README.md' pull_request: branches: - master jobs: check-style: name: Check style runs-on: ubuntu-latest steps: - uses: actions/checkout@v2.3.4 - name: Install Rust stable toolchain uses: actions-rs/toolchain@v1.0.7 with: profile: minimal toolchain: stable override: true components: clippy, rustfmt - name: Rust Cache uses: Swatinem/rust-cache@v1.3.0 - name: Cargo fmt uses: actions-rs/cargo@v1.0.3 with: command: fmt args: --all -- --check - name: Cargo clippy uses: actions-rs/cargo@v1.0.3 with: command: clippy - name: Check rustdoc links run: RUSTDOCFLAGS="--deny broken_intra_doc_links" cargo doc --verbose --workspace --no-deps --document-private-items check-code: name: Check runs-on: ubuntu-latest steps: - uses: actions/checkout@v2.3.4 - name: Install Rust stable toolchain uses: actions-rs/toolchain@v1.0.7 with: profile: minimal toolchain: stable override: true - name: Rust Cache uses: Swatinem/rust-cache@v1.3.0 - name: Cargo check all targets uses: actions-rs/cargo@v1.0.3 with: command: check args: --all-targets - name: Cargo check HTTP client with tokio02 uses: actions-rs/cargo@v1.0.3 with: command: check args: --manifest-path http-client/Cargo.toml --no-default-features --features tokio02 tests: name: Run tests runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v2.3.4 - name: Install Rust stable toolchain uses: actions-rs/toolchain@v1.0.7 with: profile: minimal toolchain: stable override: true - name: Rust Cache uses: Swatinem/rust-cache@v1.3.0 - name: Cargo build uses: actions-rs/cargo@v1.0.3 with: command: build args: --workspace - name: Cargo test uses: actions-rs/cargo@v1.0.3 with: command: test