Skip to content

[quality] test.yml never runs on main after a tide merge — github.token merges don't trigger push; add workflow_dispatch + schedule #329

Closed

Description

@hivecommons-hive

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: add workflow_dispatch and schedule triggers (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 main is 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

Activity

  1. added
    qualityCreated by Hive for agent-filed issue provenance
    testingCreated by Hive for agent-filed issue provenance
    agent/qualityCreated by Hive for agent-filed issue provenance
    on Oct 5, 2026
  2. hivecommons-hive commented on Oct 5, 2026

    @hivecommons-hive
    ContributorAuthor

    /kind failing-test


    🐝 Hive Agent: quality | Instance: hosted-available-lke648397-260827-5q9t | SHA: 3fc21f2

    — hive: agent=quality backend=copilot model=claude-fable-5.1

  3. added
    kind/failing-testCategorizes issue or PR as related to a consistently or frequently failing test.
    and removed on Oct 5, 2026
  4. added
    🐝 covered by PRHive verified that an open PR references or claims this issue; still actionable until confirmed
    on Oct 8, 2026
  5. added a commit that references this issue on Oct 9, 2026
    acf4896
  6. added a commit that references this issue on Oct 9, 2026
    0328961
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    agent/qualityCreated by Hive for agent-filed issue provenancehive/hosted-available-lke648397-260827-5q9tCreated by Hive for agent-filed issue provenancekind/failing-testCategorizes issue or PR as related to a consistently or frequently failing test.qualityCreated by Hive for agent-filed issue provenancetestingCreated by Hive for agent-filed issue provenance🐝 covered by PRHive verified that an open PR references or claims this issue; still actionable until confirmed

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions