CI: a superseded dispatched run's pending status can overwrite the newer run's result (typescript.yml, python.yml)
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 82/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- github-actions, typescript
- 領域
- ci-cd
調査の方向性
まず、typescript.yml と python.yml の dispatch-status-pending を、dispatch-status にある新しい実行のチェックと比較し、次にそれらのジョブが実行する pending スクリプトを探します。同じチェックを pending の経路に追加し、issue の説明に従って stub の gh を使い pending スクリプトを実行します。新しい dispatch 済みの実行がある場合に pending status を投稿せず、テストでそのケースをカバーできれば完了です。
索引モデルが issue の本文から書いたものです。
説明
In typescript.yml and python.yml, the dispatch-status-pending job posts its (dispatched) status as pending without first checking for a newer dispatched run on the same commit. The dispatch-status result job does check (#5178), and it posts nothing when a newer run exists.
How it happens
- Run A is dispatched on commit X, and then run B.
- B finishes and posts
success(orfailure). - A's pending job runs after that and posts
pending. Two ways this can happen:- A is re-run after B finished. A re-run keeps its run ID, so it is still the older run.
- A's pending job starts late, which the ordering allows when the two runs are not in one concurrency group.
- A's result job finds B, the newer run, and exits without posting.
The status stays pending until someone dispatches the workflow again.
Expected
The pending job runs the same newer-run check as the result job and posts nothing when it finds one. A test runs the pending script against a stub gh to pin this.
Found by Copilot on #5222. That PR fixes the two reporters it adds (dco.yml, everything-mcp-diff.yml). This issue covers the two existing ones, which that PR leaves alone.
- 主要言語
- TypeScript
- スター
- 91.4k
- フォーク
- 11.8k
- 平均マージ
- 7時間 26分
- マージ済み PR(30日)
- 130
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
modelcontextprotocol/servers のほかの issue
-
git: README should state plainly that without --repository every reachable repository is in scopeオープンdocumentation server-git v2
難易度 1/5 1〜3時間 初心者へのやさしさ 84/100
modelcontextprotocol/servers#5225 ·
メンテナーはふだん 1 日以内に返信
-
bug v2
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
modelcontextprotocol/servers#5217 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
modelcontextprotocol/servers#5216 ·
メンテナーはふだん 1 日以内に返信
-
bug v2
難易度 2/5 1〜3時間 初心者へのやさしさ 79/100
modelcontextprotocol/servers#5215 ·
メンテナーはふだん 1 日以内に返信
-
documentation server-git server-time v2
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
modelcontextprotocol/servers#5213 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
modelcontextprotocol/servers の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
db-ux-design-system/core-web#8613 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
foxglove/mcap#1907 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
bug internal-plugin pr-welcome upstream
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
dsh-tauri-desk/deepseek-harness-desktop#1225 · コメント 1 件 ·
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
unjs/unhead#1027 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信