name: CI on: pull_request: push: branches: - master jobs: style: name: Check Style runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v1 - name: Install rust uses: actions-rs/toolchain@v1 with: toolchain: stable components: rustfmt profile: minimal override: true - name: cargo fmt -- --check uses: actions-rs/cargo@v1 with: command: fmt args: --all -- --check test: name: Test needs: [style] runs-on: ubuntu-latest strategy: matrix: build: [stable, beta, nightly, tls, no-default-features, compression] include: - build: beta rust: beta - build: nightly rust: nightly benches: true - build: tls features: "--features tls" - build: no-default-features features: "--no-default-features" - build: compression features: "--features compression" steps: - name: Checkout uses: actions/checkout@v1 - name: Install rust uses: actions-rs/toolchain@v1 with: toolchain: ${{ matrix.rust || 'stable' }} profile: minimal override: true - name: Test uses: actions-rs/cargo@v1 with: command: test args: ${{ matrix.features }} - name: Test all benches if: matrix.benches uses: actions-rs/cargo@v1 with: command: test args: --benches ${{ matrix.features }} doc: name: Build docs needs: [style, test] runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v1 - name: Install Rust uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: nightly override: true - name: cargo doc uses: actions-rs/cargo@v1 with: command: rustdoc args: -- -D broken_intra_doc_links