# CI on the self-hosted Gitea, ported from .gitlab-ci.yml during the move off # GitLab (2026-09-22). Gitea reads .gitea/workflows and ignores .github/ once # this directory exists; .github/workflows stays as it was for GitHub. # # Every job runs in an image pinned by digest (tag in the trailing comment), # and the only action used is coffey-labs/actions/checkout pinned by SHA. The # instance resolves short `uses:` against itself, never GitHub, so nothing # unreviewed can be pulled in. # # Not ported, as on GitLab: publish.yml and release.yml still need doing. name: ci on: push: branches: [main] pull_request: concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: build: runs-on: docker container: image: rust:1-bookworm@sha256:93ce27a88655056a51dbdd8f5f2d7ddc071c7b0070fb288a37b5a285fc83971e # 1-bookworm # Both kept inside the workspace (a per-job volume on the project disk), # deliberately not on /tmp, which on this host is a tmpfs that a Rust # build of this size has filled before. There is no cache between runs # here -- the runner's cache server is off -- so every build is cold. env: CARGO_INCREMENTAL: "0" steps: - uses: coffey-labs/actions/checkout@fab0c4d45e0162963965f1555df27b7bed5e20ec - run: | echo "CARGO_HOME=$GITHUB_WORKSPACE/.cargo" >> "$GITHUB_ENV" echo "CARGO_TARGET_DIR=$GITHUB_WORKSPACE/target" >> "$GITHUB_ENV" - run: apt-get update -qq && apt-get install -y -qq --no-install-recommends clang >/dev/null - run: cargo build -p inbuxa --locked # --no-run: the workflow compiled every test target without running them, # which catches a test that no longer builds without paying for the suite. - run: cargo test --workspace --locked --no-run