name: ci
on:
workflow_dispatch:
pull_request:
push:
branches:
- main
permissions:
contents: read
jobs:
msrv:
name: rust 1.88
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Install minimum supported Rust
run: rustup toolchain install 1.88.0 --profile minimal
- name: Check minimum supported Rust
run: cargo +1.88.0 check --workspace
verify:
name: verify
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Install Rust
run: |
rustup toolchain install stable --profile minimal --component clippy,rustfmt,llvm-tools-preview
rustup default stable
- name: Install Rust quality tools
run: |
cargo install cargo-llvm-cov --locked
cargo install cargo-audit --locked
cargo install cargo-mutants --locked
cargo install slophammer-rs --version 0.4.0 --locked
- name: Install Node
uses: actions/setup-node@v5
with:
node-version: 22
- name: Install tmux
run: sudo apt-get update && sudo apt-get install --yes tmux
- name: Run local CI gate
run: scripts/ci-local.sh