ci: fence the test recipes and rebuild the pipelines around the gate set
Test / test (push) Failing after 24s

Assisted-by: DeepSeek V4.1 Flash
This commit is contained in:
2026-10-04 21:15:21 +02:00
parent e3dda5e115
commit 9a1b922712
10 changed files with 165 additions and 263 deletions
+10 -11
View File
@@ -53,11 +53,10 @@ just test
7. Open a pull request against `development`.
Releases are cut by merging `development` into `main` and tagging `vX.Y.Z`. The
release workflow validates the tag, runs the static gates and the test suite
with the coverage floor, and publishes the Gitea release with the matching
`CHANGELOG.md` section as its notes. The race detector is not in that set: race
never runs on a push path, and the local `just gates` raced the tree before the
tag was cut.
release workflow validates the tag and publishes the Gitea release with the
matching `CHANGELOG.md` section as its notes. No gate runs at the tag: the
tree was tested on every push to `development`, and race is local to
`just gates`, which raced the tree before the tag was cut.
## Code style
@@ -114,13 +113,13 @@ Workflows live in `.gitea/workflows/` and run on the project's own runners:
| Workflow | Trigger | What it does |
|---|---|---|
| Test | push or pull request to `development` | format check, vet, modernisation, build, the test suite with the coverage floor, the toml-test compliance suite |
| Race | `workflow_dispatch`, by hand | the suite under the race detector, the same race gate the local `just gates` runs |
| Fuzz | `workflow_dispatch`, by hand | a 30 second fuzz smoke per target over the seeds and the gathered corpus |
| Release | a `v*` tag | tag validation, format, vet, modernisation, build and the test suite with the coverage floor, then the Gitea release created from the `CHANGELOG.md` section; no race detector |
| Test | push or pull request to `development` | format check, vet, and the suite's short layer with the coverage floor, inside the two-minute push budget |
| Suite | `workflow_dispatch`, by hand | the complete gate set minus race: build, format, vet, modernisation, the full suite and the coverage floor |
| Release | a `v*` tag | tag validation, then the Gitea release created from the `CHANGELOG.md` section and nothing else; no gate runs at the tag |
The local equivalent is `just gates`, which is the same set plus the race
detector.
The local equivalent is `just gates`, which is the whole set including race.
Race never runs in CI: it belongs to the machine at the keyboard, once per
task, before the commit.
## Reporting bugs