Skip to content

CI: full battery in GitHub Actions - #21

Merged
arkh-node merged 1 commit into
mainfrom
ci/github-battery
Aug 30, 2026
Merged

CI: full battery in GitHub Actions#21
arkh-node merged 1 commit into
mainfrom
ci/github-battery

Conversation

@arkh-node

Copy link
Copy Markdown
Owner

Fixes #20.

What

.github/workflows/battery.yml — one job, debian:trixie container (same distribution and apt versions as the dev machine), running the unmodified ./run_tests.sh on every push to main and every PR.

Why the container matches the dev machine

The battery's dependency contract is strict by design: missing agda/ghc is a failure ("пропущенная проверка не должна быть неотличима от пройденной"), the oracle builds itself via MAlonzo→GHC on a cold clone. debian:trixie gives byte-identical toolchain versions (SBCL 2.5.2, Agda 2.6.4.3, agda-stdlib 2.1, GHC 9.6.6) — no version drift between local and CI.

Agda stdlib registration is explicit (apt lands it in /usr/share/agda-stdlib; the container HOME is empty), and LANG=C.UTF-8 is set because the battery greps for Cyrillic markers.

Proof

The PR's own battery run (this workflow) is the first live proof. Merge only after it is green; a green run on main after merge verified via API.

What this does NOT prove

  • Toolchain equivalence beyond "same apt distro": runner CPU/I-O differs; wall-clock times will differ from local.
  • mutants.sh behavior under CI timing — first runs show.

The g-meet regression (d731e5d, fixed in #17) survived 11 days on main
because the landing claimed only the smoke suite green and the repo has
no CI. This workflow runs the unmodified battery (./run_tests.sh) in a
debian:trixie container - the same distribution and apt versions as the
dev machine (SBCL 2.5.2, Agda 2.6.4.3, agda-stdlib 2.1, GHC 9.6.6).

The battery treats a skipped check as a failure by design, so the job
installs the full toolchain instead of weakening the battery. The oracle
builds itself on a cold runner (MAlonzo via GHC); 45-minute cap covers
the first compile.

Fixes #20
@arkh-node
arkh-node merged commit f6a34d8 into main Aug 30, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CI: run the full battery in GitHub Actions (green smoke must not mask a red battery)

1 participant