| name: CI |
| |
| on: |
| push: |
| pull_request: |
| schedule: [cron: "40 1 * * *"] |
| |
| env: |
| RUSTFLAGS: -Dwarnings |
| |
| jobs: |
| test: |
| name: Rust ${{matrix.rust}} |
| runs-on: ubuntu-latest |
| strategy: |
| fail-fast: false |
| matrix: |
| rust: [nightly, beta, stable, 1.52.0, 1.46.0, 1.45.0, 1.40.0, 1.39.0, 1.36.0, 1.33.0, 1.32.0, 1.31.0] |
| steps: |
| - uses: actions/checkout@v2 |
| - uses: dtolnay/rust-toolchain@master |
| with: |
| toolchain: ${{matrix.rust}} |
| - run: cargo test |
| - run: cargo check --no-default-features |
| - run: cargo check --features serde |
| - run: cargo check --no-default-features --features serde |
| |
| node: |
| name: Node |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v2 |
| - uses: dtolnay/rust-toolchain@stable |
| - run: npm install semver |
| - run: cargo test |
| env: |
| RUSTFLAGS: --cfg test_node_semver ${{env.RUSTFLAGS}} |
| |
| clippy: |
| name: Clippy |
| runs-on: ubuntu-latest |
| if: github.event_name != 'pull_request' |
| steps: |
| - uses: actions/checkout@v2 |
| - uses: dtolnay/rust-toolchain@clippy |
| - run: cargo clippy --tests --benches -- -Dclippy::all -Dclippy::pedantic |
| |
| miri: |
| name: Miri |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v2 |
| - uses: dtolnay/rust-toolchain@nightly |
| with: |
| components: miri |
| - run: cargo miri test |
| |
| outdated: |
| name: Outdated |
| runs-on: ubuntu-latest |
| if: github.event_name != 'pull_request' |
| steps: |
| - uses: actions/checkout@v2 |
| - uses: dtolnay/install@cargo-outdated |
| - run: cargo outdated --exit-code 1 |