ci: stop booking three hours of runner on every push
Build & publish Arch package / arch-package (push) Successful in 2m34s
CI / check (push) Canceled after 53s
CI / e2e (push) Canceled after 0s

The catalog this job derives was dropped by the stale-shape repair (see
`fix(database): never retire the catalog the index build derives`, which
prevents a recurrence but cannot undo it), so `mode=auto` now resolves to
a full ~205 GB import from the dumps.

That import runs on every push to main with a 3h budget, on a runner of
capacity 1 -- so ordinary CI has been queuing behind it since the merge,
and each further push books another three hours. The damage is the
repetition, not the single job.

The `push` trigger is commented out until a run reports `complete=true`.
The weekly cron and workflow_dispatch still resume the build, which is
all it needs: indexbuild picks up from its checkpoint, so nothing already
imported is re-fetched.

Restoring the two commented lines is the entire revert, and the comment
beside them says so. NOTES.md carries the incident, including the two
things worth changing regardless: a destructive repair running inside
`database.NewDB` has to ask which binary it is in, and the only copy of a
205 GB derived asset is a single Docker volume with no snapshot.
This commit is contained in:
2026-08-17 13:29:58 -04:00
parent 4f8257ef72
commit 1c4d6ca9a1
2 changed files with 88 additions and 2 deletions
+22 -2
View File
@@ -9,9 +9,29 @@ name: Search index maintenance
#
# A refresh is cheap and no-ops when nothing new has been published, so
# running it on every push to main is safe.
#
# ---------------------------------------------------------------------
# TEMPORARY (2026-08-17): the `push` trigger is off while the catalog
# rebuilds.
#
# `fix(database): retire a table whose shape the schema moved past`
# dropped this job's `explore_index` on its first run -- the CI database
# is deliberately in the older encoding, so the repair judged it stale --
# and the job fell back to a full ~205 GB import from the dumps.
# `fix(database): never retire the catalog the index build derives`
# stops it happening again but cannot undo it.
#
# Until that import reports complete, every push to main books another
# `budget` (3h) of a runner with capacity 1, and ordinary CI queues
# behind it. The weekly cron and workflow_dispatch still resume the
# build, which is all it needs: indexbuild picks up from its checkpoint.
#
# RESTORE the two `push` lines below once a run reports
# `complete=true`. Nothing else here changed.
# ---------------------------------------------------------------------
on:
push:
branches: [main]
# push:
# branches: [main]
schedule:
# Weekly update pass. The 6-month rebuild is triggered by the same
# command when it notices the import has aged out.