Skip to content

ci: run build and test on multiple OS #261

ci: run build and test on multiple OS

ci: run build and test on multiple OS #261

Workflow file for this run

name: check
on:
push:
branches:
- master
pull_request:
branches:
- master
workflow_dispatch: {}
jobs:
clippy:
name: Clippy
runs-on: ubuntu-latest
strategy:
matrix:
rust: [stable, beta, nightly]
steps:
- name: Checkout
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
- name: Install rust (${{ matrix.rust }})
uses: dtolnay/rust-toolchain@dc6353516c68da0f06325f42ad880f76a5e77ec9
with:
components: clippy, rustfmt
toolchain: ${{ matrix.rust }}
- name: Run clippy
run: cargo clippy --all-features -- -D warnings
fmt:
name: Formatting
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
- name: Install rust (stable)
uses: dtolnay/rust-toolchain@dc6353516c68da0f06325f42ad880f76a5e77ec9
with:
components: clippy, rustfmt
toolchain: stable
- name: Run rustfmt
run: cargo fmt --check
build_and_test:
name: Build and test
runs-on: ${{ matrix.os }}-latest
strategy:
matrix:
os: [ubuntu, macos, windows]
rust: [stable, beta, nightly]
steps:
- name: Checkout
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
- name: Install rust (${{ matrix.rust }})
uses: dtolnay/rust-toolchain@dc6353516c68da0f06325f42ad880f76a5e77ec9
with:
toolchain: ${{ matrix.rust }}
- name: Cache
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
with:
path: |
~/.cargo
target
key: ${{ matrix.os }}-${{ matrix.rust }}-${{ hashFiles('Cargo.lock') }}
restore-keys: |
${{ matrix.os }}-${{ matrix.rust }}-${{ hashFiles('Cargo.lock') }}
${{ matrix.os }}-${{ matrix.rust }}-
- name: Build
run: cargo build --all-targets
- name: Tests
run: cargo test
msrv:
name: Check minimal supported rust version (MSRV).
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2
- name: Install rust (stable)
uses: dtolnay/rust-toolchain@dc6353516c68da0f06325f42ad880f76a5e77ec9
with:
toolchain: stable
- name: Cache
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
with:
path: |
~/.cargo
target
key: ${{ runner.os }}-msrv
- name: Install cargo-msrv
run: cargo install cargo-msrv
- name: Check msrv
run: cargo msrv