Alpha release deprecates the current alpha again when it is already deprecated
メンテナーはふだん 1 日以内に返信
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 35/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 停滞
- 技術スタック
- bun, typescript
- 領域
- release
調査の方向性
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.
索引モデルが issue の本文から書いたものです。
説明
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
- 主要言語
- TypeScript
- スター
- 0
- フォーク
- 0
- 平均マージ
- 15時間 51分
- マージ済み PR(30日)
- 21
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
NanoForge-dev/actions のほかの issue
-
bug dependencies
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
NanoForge-dev/actions#137 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 73/100
NanoForge-dev/actions#136 ·
メンテナーはふだん 1 日以内に返信
-
Registry release silently skips manifests with no name and does not name invalid JSON manifestsオープンbug good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
NanoForge-dev/actions#135 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
NanoForge-dev/actions#134 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
NanoForge-dev/actions#131 ·
メンテナーはふだん 1 日以内に返信
NanoForge-dev/actions の issue をすべて見る
似ている issue
-
Mend: dependency security vulnerability
難易度 1/5 1〜3時間 初心者へのやさしさ 65/100
fdm-monster/fdm-monster#5563 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
be-BOP-io-SA/be-BOP#2849 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 79/100
メンテナーはふだん 1 日以内に返信
-
1️⃣ phase/under-investigation flaky/confirmed flaky/needs-decision type/bug
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
growilabs/growi#12246 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
-
🐛 The Rulekeeper - An index run that gives up on the lock ends Succeeded対応中かも @github-actions が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
SSWConsulting/SSW.Rules#2809 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信