Alpha release deprecates the current alpha again when it is already deprecated
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Ferma
- Stack tecnologico
- bun, typescript
- Ambito
- release
Direzione di ricerca
Read src/prerelease/prerelease-version.ts around resolveAlphaRelease and inspect the open pull request #138, which is already working on this issue. The reproduction in the issue shows the failure; done means the already-deprecated current version is absent from toDeprecate on a rerun.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Issue description
resolveAlphaRelease (src/prerelease/prerelease-version.ts#L50-L51) collects the branch's alphas in a Set of objects, which doesn't dedupe by version. It then adds the committed current version as a new { version } with no deprecated field. When that version is already deprecated on npm (e.g. a re-run), it lands in toDeprecate, and npm deprecate runs on it again and overwrites its message, which #91 meant to stop. This code predates the #91 fix, so it's a path that fix missed rather than a regression.
Reproduced:
$ bun -e 'resolveAlphaRelease("1.0.1-alpha.x.2", "feat/x", [{version:"1.0.1-alpha.x.2",deprecated:"Superseded"},{version:"1.0.1-alpha.x.1",deprecated:"S"}])'
{ newVersion: "1.0.1-alpha.x.3", toDeprecate: [ "1.0.1-alpha.x.2" ] }
Expected: toDeprecate is empty here. Keying by version (a Map) and adding the current version only when npm doesn't list it fixes it.
Found by a read-only audit of main at 435a16b (first done at 046494f; no src/ file changed in between), report audits/actions-2026-11-11.md in the workspace repo.
Code sample
resolveAlphaRelease("1.0.1-alpha.x.2", "feat/x", [
{ version: "1.0.1-alpha.x.2", deprecated: "Superseded" },
{ version: "1.0.1-alpha.x.1", deprecated: "S" },
]);
// toDeprecate: ["1.0.1-alpha.x.2"], expected []
Versions
- @nanoforge-dev/actions 3.3.0 (
mainat 435a16b) - Bun 1.3.14
Issue priority
Low (slightly annoying)
I have tested this issue on a development release
435a16b
- Lingua principale
- TypeScript
- Stelle
- 0
- Fork
- 0
- Merge medio
- 15h 51m
- PR unite (30g)
- 21
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi 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 NanoForge-dev/actions
-
bug dependencies
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
NanoForge-dev/actions#137 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
NanoForge-dev/actions#136 ·
I maintainer di solito rispondono entro 1 giorno
-
Registry release silently skips manifests with no name and does not name invalid JSON manifestsApertabug good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
NanoForge-dev/actions#135 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
NanoForge-dev/actions#134 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
NanoForge-dev/actions#131 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di NanoForge-dev/actions
Issue simili
-
Mend: dependency security vulnerability
Difficoltà 1/5 1-3 ore Idoneità per principianti 65/100
fdm-monster/fdm-monster#5563 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
be-BOP-io-SA/be-BOP#2849 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 79/100
I maintainer di solito rispondono entro 1 giorno
-
1️⃣ phase/under-investigation flaky/confirmed flaky/needs-decision type/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
growilabs/growi#12246 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
🐛 The Rulekeeper - An index run that gives up on the lock ends SucceededForse già presa @github-actions l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
SSWConsulting/SSW.Rules#2809 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno