on: push: branches: - '*' paths: - src/** - tests/** - static/graph.toml - .forgejo/** - Cargo.toml - Cargo.lock jobs: verify: runs-on: docker timeout-minutes: 20 container: image: rust:slim steps: - name: Install action dependencies run: apt-get install --no-install-recommends --update -y nodejs curl git - name: Checkout code uses: actions/checkout@v6 with: fetch-tags: true - name: Setup Rust toolchain run: | rustup component add llvm-tools-preview rustup component add --toolchain nightly rustfmt clippy rustup target add x86_64-unknown-linux-gnu rustup target add x86_64-unknown-linux-musl - name: Setup additional tooling run: .forgejo/workflows/setup-tools.sh - name: Setup CI user run: | useradd -m ci && chown -R ci:ci . git config --global --add safe.directory "$PWD" - name: Text matching checks run: just ci todos-assess version-assess spell - name: Schema lint run: just ci schema-lint - name: Deny run: just ci deny - name: Format run: just ci format-assess - name: Lint run: just ci lint-assess - name: Cargo check run: just ci check - name: Test run: just ci test - name: Assess test coverage run: just ci cover-assess