Skip to content

CI: Use matrix for different runners #5

CI: Use matrix for different runners

CI: Use matrix for different runners #5

Workflow file for this run

name: Pull Request
on:
pull_request:
branches:
- "main"
env:
CARGO_TERM_COLOR: always
jobs:
test:
name: Test
runs-on: "${{ matrix.os }}"
strategy:
matrix:
os: ["ubuntu-latest", "windows-latest", "macos-14"]
steps:
- name: Check out repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install nightly
uses: dtolnay/rust-toolchain@nightly
id: toolchain
with:
components: "clippy, rustfmt"
- name: Override default toolchain
run: rustup override set ${{steps.toolchain.outputs.name}}
- name: Cache
uses: Swatinem/rust-cache@v2
- name: Test
run: cargo test --workspace --verbose --all-features --no-fail-fast
lint:
name: Lint
runs-on: "ubuntu-latest"
steps:
- name: Check out repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install nightly
uses: dtolnay/rust-toolchain@nightly
id: toolchain
with:
components: "clippy, rustfmt"
- name: Override default toolchain
run: rustup override set ${{steps.toolchain.outputs.name}}
- name: Cache
uses: Swatinem/rust-cache@v2
- name: Check formatting
run: cargo fmt --all --check
- name: Check Clippy
run: cargo +nightly clippy --workspace --all-features --examples --tests -- -D warnings