| on: [push, pull_request] |
| |
| name: Continuous integration |
| |
| jobs: |
| check: |
| name: Check |
| runs-on: ubuntu-latest |
| strategy: |
| matrix: |
| rust: |
| - stable |
| - 1.44.0 |
| - nightly |
| steps: |
| - uses: actions/checkout@v2 |
| - uses: actions-rs/toolchain@v1 |
| with: |
| profile: minimal |
| toolchain: ${{ matrix.rust }} |
| override: true |
| - name: Cargo update |
| run: cargo update |
| - uses: actions-rs/cargo@v1 |
| with: |
| command: check |
| |
| test: |
| name: Test Suite |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v2 |
| - uses: actions-rs/toolchain@v1 |
| with: |
| profile: minimal |
| toolchain: stable |
| override: true |
| - uses: actions-rs/cargo@v1 |
| with: |
| command: test |
| |
| fmt: |
| name: Rustfmt |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v2 |
| - uses: actions-rs/toolchain@v1 |
| with: |
| profile: minimal |
| toolchain: stable |
| override: true |
| - run: rustup component add rustfmt |
| - uses: actions-rs/cargo@v1 |
| with: |
| command: fmt |
| args: --all -- --check |
| |
| clippy: |
| name: Clippy |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v2 |
| - uses: actions-rs/toolchain@v1 |
| with: |
| profile: minimal |
| toolchain: stable |
| override: true |
| - run: rustup component add clippy |
| - uses: actions-rs/cargo@v1 |
| with: |
| command: clippy |
| args: -- -D warnings |
| |
| doc: |
| name: Build documentation |
| runs-on: ubuntu-latest |
| env: |
| RUSTDOCFLAGS: --cfg docsrs |
| steps: |
| - uses: actions/checkout@v2 |
| - uses: actions-rs/toolchain@v1 |
| with: |
| profile: minimal |
| toolchain: nightly |
| override: true |
| - uses: actions-rs/cargo@v1 |
| with: |
| command: doc |
| args: --workspace --no-deps --all-features |