name: CI
on:
pull_request:
push:
branches:
- main
workflow_dispatch:
permissions:
contents: read
concurrency:
group: runtime-ci-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
CARGO_TERM_COLOR: always
RUST_BACKTRACE: "1"
jobs:
linux:
name: Linux / Rust ${{ matrix.toolchain }}
runs-on: ubuntu-24.04
timeout-minutes: 20
strategy:
fail-fast: false
matrix:
toolchain:
- "1.85.0"
- stable
steps:
- name: Check out exact commit
uses: actions/checkout@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.toolchain }}
components: clippy, rustfmt
- name: Verify formatting
run: cargo fmt --all --check
- name: Run unit, integration, process, and golden tests
run: cargo test --locked --all-targets
- name: Reject Clippy warnings
run: cargo clippy --locked --all-targets -- -D warnings
- name: Reject rustdoc warnings
env:
RUSTDOCFLAGS: -D warnings
run: cargo doc --locked --no-deps