release.sh derives a tag name that GitHub permanently refuses
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 52/100
Direzione di ricerca
Inizia da scripts/release.sh, tracciando la ricerca dei tag, la numerazione di fallback e il percorso di push del tag. Leggi release_workflow_test.go e require_newest_release_test.go e verifica come il workflow gestisce i tag v*... Il lavoro è completato quando un tag riservato non interrompe la numerazione della release e la release successiva segue il normale flusso di commit e tag dello script.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
What happened
All releases and tags were deleted from this repository on 2026-08-24. scripts/release.sh derives the next tag by scanning existing v<year>.<month>.* tags and incrementing the highest match, falling back to .0 when it finds none:
release_tags=$(git tag --list "v${release_period}.*" --sort=-v:refname)
...
if [ -z "$release_last" ]; then
release_number=0
With no tags present it computes v2026.8.0, which cannot be created. GitHub's immutable releases permanently reserve a tag name once a release has been published under it, and the reservation outlives deleting both the release and the tag — recreating the ref returns 422 Reference update failed.
v2026.8.0 through v2026.8.10 are all burned for this repository. v2026.8.11 was tagged by hand to restart the series, so the script derives correctly again — but the fallback remains wrong for the next reset, and for the first release of any future month whose numbers were used before.
Suggested fix
Treat a 422 from the tag push as "this name is reserved" and retry with the next number, instead of aborting. Alternatively, when no local tags match the series, query the API for the highest tag the repository has ever published rather than assuming .0 is available.
One deviation in the v2026.8.11 tag
release.sh normally creates a chore(release): <tag> commit on top of main and pushes the commit and tag atomically. v2026.8.11 was tagged directly on the existing main commit instead, so there is no synthetic release commit for it. Nothing appeared to depend on that commit — the workflow triggers on v*.*.* tags, and neither release_workflow_test.go nor require_newest_release_test.go references it — but it is a difference from every earlier tag and worth confirming before the next release runs through the script.
- Lingua principale
- Go
- Stelle
- 3
- Fork
- 0
- Merge medio
- 2h 40m
- PR unite (30g)
- 63
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di labstack/onebox
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
-
bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 76/100
-
bug
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
Tutte le issue di labstack/onebox
Issue simili
-
area/dev-productivity area/disaster-recovery area/ipcei kind/enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
kind/bug status/0-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
🤔 refinement needed
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
equinor/radix-operator#1979 ·