Skip to content

ci: explicit Latest flag + empty-tagset hardening#20

Merged
julian-goldstein merged 1 commit into
masterfrom
latest-and-empty-tagset
Jun 19, 2026
Merged

ci: explicit Latest flag + empty-tagset hardening#20
julian-goldstein merged 1 commit into
masterfrom
latest-and-empty-tagset

Conversation

@julian-goldstein

Copy link
Copy Markdown
Contributor

Two small robustness fixes to vendor.yml, mirroring what we just did on script-template.

1. Explicit "Latest" flag. GitHub's default Latest is recency-based, so a release/* back-port cut after a newer mainline release would steal the badge from it (e.g. v0.6.2 over v0.8.0). Now:

  • mainline (master) → --latest
  • release/* back-port → --latest=false
  • flavor (vX.Y.Z-<flavor>) → --prerelease (GitHub never marks it Latest)

2. Empty-tagset hardening. The baseline grep -E "$tagpat" (in detect + compute) exits 1 under pipefail when no tags match, failing the step — the fresh-start case. Wrapped in { grep … || true; }. Dormant on the toolchain (always has tags) but it's the exact defect that broke script-template's reset to v0.1.0.

On merge: cuts v0.9.0 (default minor), marks it --latest, and auto-opens release/v0.9.

GitHub's default Latest is recency-based, so a release/* back-port cut after a
newer mainline release would steal the Latest badge. Pick the flag explicitly:
mainline -> --latest, back-port -> --latest=false, flavor -> --prerelease
(never Latest). Also wrap the baseline grep in { ... || true; } so an empty tag
set doesn't fail the pipeline under pipefail (latent; surfaced on script-template).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@julian-goldstein julian-goldstein merged commit c8a3b06 into master Jun 19, 2026
1 check passed
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