CI: Forgejo Actions lanes for opt and the sanitizers #106

Merged
bcox merged 1 commit from ci into main 2026-10-03 01:15:11 +00:00
Owner

Closes #1.

  • push.yml, on every push: bazel test --test_size_filters=small //... at the default config. It builds every target, including the patch editor, and runs only the small tests.
  • ci.yml, nightly against main, on pull requests, and by hand: four jobs, opt then asan then ubsan then tsan, chained with needs: so they never overlap. Each one runs even if an earlier one failed. TSan is scoped to the five race tests CLAUDE.md names.
  • setup-fedora.sh prepares the fedora:43 container on the docker runner: gcc for Bazel's fallback toolchain, nodejs for the actions, and bazelisk. Bazel's repository cache is kept between runs.

Before pushing, the setup script and bazel test //... ran in a fresh local fedora:43 container. Every test passed, in 2293 s from a cold container. This PR is the first run of ci.yml on forge-runner.

🤖 Generated with Claude Code

Closes #1. - **push.yml**, on every push: `bazel test --test_size_filters=small //...` at the default config. It builds every target, including the patch editor, and runs only the small tests. - **ci.yml**, nightly against `main`, on pull requests, and by hand: four jobs, `opt` then `asan` then `ubsan` then `tsan`, chained with `needs:` so they never overlap. Each one runs even if an earlier one failed. TSan is scoped to the five race tests CLAUDE.md names. - **setup-fedora.sh** prepares the `fedora:43` container on the `docker` runner: gcc for Bazel's fallback toolchain, nodejs for the actions, and bazelisk. Bazel's repository cache is kept between runs. Before pushing, the setup script and `bazel test //...` ran in a fresh local fedora:43 container. Every test passed, in 2293 s from a cold container. This PR is the first run of ci.yml on `forge-runner`. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
ci: Forgejo Actions lanes for opt and the sanitizers (#1)
Some checks failed
ci / opt (pull_request) Has been cancelled
ci / asan (pull_request) Has been cancelled
ci / ubsan (pull_request) Has been cancelled
ci / tsan (pull_request) Has been cancelled
push / small (push) Successful in 29m3s
a5ad71ba5e
push.yml runs the everyday lane on every push: the default config with
--test_size_filters=small, which still builds every target in //...,
the patch editor among them.

ci.yml runs opt, asan, ubsan and tsan as four jobs chained by needs:, so
they never overlap, each running even when an earlier one failed. It
runs nightly against main and on pull requests, never on push: the
lanes are too heavy for that. TSan is scoped to the five race tests
CLAUDE.md names.

Every job runs in fedora:43 on the docker runner. setup-fedora.sh
installs what the hermetic toolchain still leaves to the host -- gcc for
Bazel's autodetected fallback, nodejs for the actions -- and bazelisk.
The repository cache persists between runs.

Checked by running the setup script and bazel test //... in a fresh
local fedora:43 container: every test passed, 2293 s cold.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
bcox merged commit cc0068c85b into main 2026-10-03 01:15:11 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
bcox/tymbal!106
No description provided.