SIGN IN SIGN UP

fix(ci): say when the tap is being left a version behind (#390)

`releases/latest` excludes prereleases and drafts, which is the right
policy: `brew install` must not hand a user a prerelease. What it cannot
do is notice that it has answered a stale question.

This job triggers on the Release workflow completing, and the step that
promotes a prerelease to a full release lives inside that same workflow.
If that promotion does not run, or fails, or the release is a deliberate
prerelease, `releases/latest` returns the previous version, the formula
already matches it, and the push step exits 0 with "nothing to push". A
green run that moved nothing.

Not hypothetical. Run 32688159260 resolved v0.25.0 while v0.26.0 sat
published-as-prerelease, reported success, and left the tap a version
behind with nothing in the log to say so. The promotion had failed
silently, which #388 fixed, but the silence here is its own defect and
outlives that one cause.

Resolution is unchanged. Added is a warning naming both tags when a
newer published release exists that this job is declining to serve, and
an error, rather than a raw 404 from `gh`, when there is no full release
at all. A warning and not an error for the first, because refusing to
publish a prerelease to `brew` users is correct behaviour and only the
silence was wrong.

Verified against the live API on all four branches: a dispatch with an
explicit tag, a repository whose releases are all full (all-smi, resolves
v0.26.0 quietly), a repository whose newest published release is a
prerelease (backend.ai-go, warns that v1.13.0-beta.1 is not being served
and the tap stays at v1.12.1, where the old code resolved v1.12.1 with no
mention of it), and a repository with no release at all.
J
Jeongkyu Shin committed
cb3228f9b93ac29f154debe6e5ce1b1ccb0c7ae2
Parent: ee3e558
Committed by GitHub <noreply@github.com> on 8/24/2026, 7:22:49 AM