# Based on https://github.com/actions-rs/meta/blob/master/recipes/quickstart.md on: push: { } name: Validate jobs: check: name: Check strategy: fail-fast: false matrix: os: [ windows-latest, ubuntu-latest, macOS-latest ] rust: [ stable ] runs-on: ${{ matrix.os }} steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install stable toolchain uses: dtolnay/rust-toolchain@stable with: toolchain: ${{ matrix.rust }} - name: Run cargo check Windows if: matrix.os == 'windows-latest' run: cargo check --no-default-features --features num - name: Run cargo check if: matrix.os != 'windows-latest' run: cargo check test: name: Test Suite runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install stable toolchain uses: dtolnay/rust-toolchain@stable with: toolchain: stable - name: Run cargo test run: cargo test test-windows: name: Test Suite Windows runs-on: windows-latest steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install stable toolchain uses: dtolnay/rust-toolchain@stable with: toolchain: stable - name: Run cargo test run: cargo test --no-default-features --features num lints: name: Lints runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install stable toolchain uses: dtolnay/rust-toolchain@stable with: toolchain: stable components: rustfmt, clippy - name: Run cargo fmt run: cargo fmt --all -- --check - name: Run cargo clippy run: | cargo clippy -- -D warnings cargo clippy --no-default-features --features num -- -D warnings