on: [push, pull_request] name: CI jobs: lint: name: Lint runs-on: ubuntu-latest env: RUSTFLAGS: -D warnings steps: - uses: actions/checkout@v2 - name: Install Rust uses: actions-rs/toolchain@v1 with: toolchain: stable override: true - name: Run Rustfmt uses: actions-rs/cargo@v1 with: command: fmt args: -- --check - name: Run Clippy uses: actions-rs/cargo@v1 with: command: clippy doc: name: Docs runs-on: ubuntu-latest steps: - uses: actions/checkout@master - name: Install Rust uses: actions-rs/toolchain@v1 with: toolchain: stable override: true - name: Docs uses: actions-rs/cargo@v1 with: command: doc # Keep in sync with Cargo.toml's [package.metadata.docs.rs] args: --no-default-features --no-deps --features "tls json charset cookies socks-proxy" build_and_test: name: Test runs-on: ubuntu-latest strategy: matrix: tls: - "" - tls feature: - "" - json - charset - cookies - socks-proxy - native-certs env: RUST_BACKTRACE: "1" RUSTFLAGS: "-D dead_code -D unused-variables -D unused" steps: - uses: actions/checkout@master - name: Install Rust uses: actions-rs/toolchain@v1 with: toolchain: stable override: true - name: Test uses: actions-rs/cargo@v1 with: command: test args: --no-default-features --features "${{ matrix.tls }} ${{ matrix.feature }}"