diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml new file mode 100644 index 0000000..21e859b --- /dev/null +++ b/.gitea/workflows/ci.yml @@ -0,0 +1,42 @@ +# 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 diff --git a/.gitignore b/.gitignore index c85ed4c..44de0f4 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,7 @@ run.sh !.gitattributes !.github !.gitlab-ci.yml +!.gitea CLAUDE.md # The cutover rehearsal writes its fixture and state here.