Skip to content

ci: run the catalog liveness check nightly instead of on every push - #108

Merged
rmyndharis merged 1 commit into
mainfrom
chore/catalog-live-on-schedule
Aug 25, 2026
Merged

ci: run the catalog liveness check nightly instead of on every push#108
rmyndharis merged 1 commit into
mainfrom
chore/catalog-live-on-schedule

Conversation

@rmyndharis

Copy link
Copy Markdown
Owner

The catalog liveness check landed in #107 wired to push on main. That was the wrong trigger.

A release lands as merge-then-tag, so between those two moments the catalog genuinely points at
releases that do not exist yet. The 0.23.3 merge went red thirteen seconds after landing, reporting ten
404s, for a condition that resolved as soon as the tags were pushed a minute later. That is not a false
positive in the sense of being wrong, it is worse: it is correct, benign, and guaranteed to recur on
every single release.

A gate that is routinely red for a known-benign reason is one people learn to ignore, which costs more
than the window it covers.

  • Moves the job to schedule (nightly) plus workflow_dispatch, matching the shape
    download-badges.yml already uses.
  • Nightly still catches the failure the check exists for: a set of release tags that is never pushed at
    all, which is what left the catalog answering 404 for every plugin before fix: restore the catalog, verify against OpenWA 0.23.3, and correct plugin defects #107.
  • workflow_dispatch covers the case where the answer is wanted immediately. Run it by hand right
    after pushing a set of release tags, which is exactly when you want to know.
  • ci.yml goes back to a single job with no event guards, since the two jobs no longer share triggers.

No change to the check itself. Verified by running node scripts/catalog-live-check.mjs against the
now-published 0.23.3 releases: ten plugins fetched, every sha256 pin matches.

A release lands as merge-then-tag, so between those two moments the catalog
genuinely points at releases that do not exist yet. Running the check on push
therefore made `main` red by construction on every release: the 0.23.3 merge
went red thirteen seconds after landing, for a condition that resolved as soon
as the tags were pushed.

A gate that is routinely red for a known-benign reason is one people learn to
ignore, which costs more than the window it covers. Nightly still catches the
failure it exists for, a set of tags that is never pushed at all, and
workflow_dispatch covers the case where the answer is wanted immediately: run
it by hand right after pushing release tags.

Moves the job into its own workflow, matching download-badges.yml, which lets
ci.yml go back to a single job with no event guards.
@rmyndharis
rmyndharis merged commit 005b359 into main Aug 25, 2026
1 check passed
@rmyndharis
rmyndharis deleted the chore/catalog-live-on-schedule branch August 25, 2026 05:11
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.

1 participant