[quality] test.yml never runs on main after a tide merge — github.token merges don't trigger push; add workflow_dispatch + schedule
メンテナーはふだん 2 日以内に返信
関連するプルリクエストがすでにマージされています。
- #389 @mrbobbytables による — マージ済み
評価
- 難易度
- 1/5
- 見積もり時間
- 1時間未満
- 初心者へのやさしさ
- 78/100
- issue の種類
- 機能追加
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- github-actions, yaml
- 領域
- ci-cd
調査の方向性
.github/workflows/test.ymlから始めて、既存のonトリガーを確認します。pushとpull_requestを維持したまま、要求されたworkflow_dispatchと毎日のscheduleトリガーを追加します。ジョブ本体は変更しないでください。プルリクエストのチェックを変更せずに、デフォルトブランチでワークフローの手動実行とスケジュール実行ができれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Finding
main has had no build-test run since a270568 (2026-10-03T05:05Z) even though three commits landed after it. .github/workflows/test.yml runs on: [push, pull_request], but merges performed by tide (src/plugins/tide.ts, running under prow-bot.yml with the default github.token) are made by github-actions[bot], and GitHub does not create workflow runs for events caused by GITHUB_TOKEN. So the post-merge push run only fires when a human presses the merge button:
main commit |
merged by | build-test push run |
|---|---|---|
| a270568 (#273) | @jeefy | 37098712186 ✅ |
| 8594573 (#278, msw 2.15 → 3.0.1) | github-actions[bot] |
none |
| ec76a3b (#279) | github-actions[bot] |
none |
| 3fc21f2 (#263) | github-actions[bot] |
none |
(gh api repos/cncf/prow-github-actions/actions/workflows/1003542/runs?event=push&branch=main lists a270568 as the newest; gh api repos/cncf/prow-github-actions/pulls/278 --jq .merged_by.login → github-actions[bot].)
Consequence: the default branch's "green" is whatever the last human-merged commit scored, which is exactly the baseline #294 leans on ("main's last runs are green"). In fact main @ 3fc21f2 is red: npm run test:coverage locally (Node v26.10.0, vitest 5.0.3) → 80 files / 1639 tests pass, 1 unhandled error (ERR_TLS_CERT_ALTNAME_INVALID from __tests__/issueCommentTest/meow.test.ts) — the msw 3 regression #278 brought in, which its own pull_request runs (37146633824, 37146629137) happened to pass. Nothing has ever run build-test on the merged result, and there is no way to ask for one: test.yml has no workflow_dispatch.
Recommendation
Give main a build-test baseline that does not depend on who merged, and a way to re-run it on demand. One mechanical edit to .github/workflows/test.yml — replace line 2:
on: [push, pull_request]
with
on:
push:
pull_request:
workflow_dispatch:
schedule:
- cron: '17 6 * * *'
workflow_dispatch lets a maintainer re-run the baseline (gh workflow run test.yml --ref main) when triaging an incident like #294; the daily schedule catches regressions that tide merges in. The job body is unchanged, so required-check semantics on pull requests are untouched.
Alternative, if the maintainers prefer merges themselves to trigger CI: have prow-bot.yml pass a non-GITHUB_TOKEN credential through prow.yml's existing secrets.token input, so tide's merges are attributed to an App/PAT and fire push. That needs a secret and a decision about which identity merges, so it is not proposed as the default here.
-
.github/workflows/test.yml: addworkflow_dispatchandscheduletriggers (replacement text above)
Why this is an issue and not a PR
The change is entirely inside .github/workflows/. This agent's App token is minted at the contributor tier without the Workflows permission, so GitHub rejects any push touching that directory server-side. Applying the replacement above needs a human or an ISSUES_PRS_MERGE agent; it is a four-line mechanical edit.
Related: #294 (the stale-baseline incident this exposes), #213 (push + pull_request double-running same-repo PRs — the on: block above keeps both and is compatible with whichever fix #213 picks).
Priority
- Impact: high — the default branch has no CI signal after bot merges; a red
mainis currently invisible - Effort: low
Filed by quality agent (hold-gated mode)
🐝 Hive Agent: quality | Instance: hosted-available-lke648397-260827-5q9t | SHA: unknown
— hive: agent=quality backend=copilot model=claude-fable-5.1 copilot=1.0.88
- 主要言語
- TypeScript
- スター
- 132
- フォーク
- 24
- 平均マージ
- 1日 12時間
- マージ済み PR(30日)
- 229
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
cncf/prow-github-actions のほかの issue
-
[quality] worker.ts scheduled(), queue consumer and deferViaQueue run under no test (unit excludes the file; miniflare suite only drives fetch())対応中かも @hivecommons-hive が今日担当しました。 オープンagent/quality needs-kind stage/040-covered-by-pr testing
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
cncf/prow-github-actions#629 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
[quality] Helm chart: ingress.yaml is rendered by no helm-unittest suite and by neither kind install; serviceaccount/configmap/service and the apiUrl, extraEnv, image.tag, create=false arms are unasserted対応中かも @hivecommons-hive が今日担当しました。 オープンagent/quality needs-kind stage/040-covered-by-pr testing
難易度 2/5 1〜3時間 初心者へのやさしさ 30/100
cncf/prow-github-actions#625 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
agent/quality needs-human needs-kind stage/045-needs-decision testing
難易度 4/5 3〜5日 初心者へのやさしさ 30/100
cncf/prow-github-actions#594 · コメント 4 件 ·
メンテナーはふだん 2 日以内に返信
-
hive/advisory kind/cleanup needs-human stage/045-needs-decision
難易度 5/5 1週間以上 初心者へのやさしさ 15/100
cncf/prow-github-actions#170 · コメント 5 件 ·
メンテナーはふだん 2 日以内に返信
cncf/prow-github-actions の issue をすべて見る
似ている issue
-
area:desktop area:ui bug platform:macos
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
anthropics/claude-code#106183 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
-
feature:App-Tour feature:Chat ready Web
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
digitalfabrik/integreat-app#4523 · リアクション 2 件 ·
メンテナーはふだん 3 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
Required Lexical field accepts two empty paragraphs対応中かも @lazerg が今日担当しました。 オープンBug
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
payloadcms/payload#19222 ·
メンテナーはふだん 1 日以内に返信