# SPDX-FileCopyrightText: 2026 Stan Grams # # SPDX-License-Identifier: GPL-2.0-or-later # CI for the self-hosted, host-executor Podman runners (see container/). # The runner image bakes in the Rust toolchain and all build dependencies, # so jobs go straight to cargo — no apt/rustup setup steps (which also # collided on the dpkg lock when jobs ran concurrently in the same runner). name: CI on: push: branches: [main] pull_request: env: CARGO_TERM_COLOR: always jobs: lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: rustfmt run: cargo fmt --all -- --check - name: clippy run: cargo clippy --workspace --all-targets --all-features -- -D warnings test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Build run: cargo build --workspace --all-targets --locked - name: Test run: cargo test --workspace --locked reuse: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: REUSE compliance # `reuse` CLI instead of fsfe/reuse-action: the latter is a Docker # action, which the host-executor runners cannot run. `reuse` is baked # into the runner image (see container/Containerfile). run: reuse lint