Skip to content

ci: dispatch CI onto release-please PRs so required checks report - #54

Merged
johncarmack1984 merged 1 commit into
mainfrom
ci/release-please-check-dispatch
Aug 10, 2026
Merged

ci: dispatch CI onto release-please PRs so required checks report#54
johncarmack1984 merged 1 commit into
mainfrom
ci/release-please-check-dispatch

Conversation

@johncarmack1984

Copy link
Copy Markdown
Owner

Release PR #53 is stuck: GitHub now gates pull_request workflow runs from bot-authored PRs behind manual approval, so CI never starts on the release-please branch and the required checks (test/npm/deny, pinned to the GitHub Actions app in the main ruleset) sit at Expected — Waiting for status to be reported forever. The #50 self-skip guard assumed the workflow would still trigger; it no longer does.

Fix, with no GitHub App or PAT:

  • release.yml: after release-please creates or updates the release PR, dispatch ci.yml onto the release branch via gh workflow run (new actions: write permission). API-dispatched runs carrying GITHUB_TOKEN are exempt from the bot-PR approval gate and produce real Actions check runs at the PR head SHA — which is what the app-pinned ruleset requires.
  • ci.yml: add the workflow_dispatch trigger and extend the three jobs' release-please skip guard to also match ref_name (the dispatched run has an empty head_ref), so the dispatched run's jobs skip instantly and report the checks green with zero redundant compute. Normal PRs and the main-push workflow_call still run the full suite.

On merge, release-please rebuilds #53's branch from main (picking up the dispatch trigger), the new step fires, and #53 goes green with no manual approval.

GitHub now gates pull_request workflow runs from bot-authored PRs behind
manual approval, so CI never starts on the release-please PR and its
required checks (test/npm/deny, pinned to the Actions app) sit at
Expected forever, blocking the release PR.

Dispatch ci.yml onto the release branch from the release workflow
instead: a workflow_dispatch run carrying GITHUB_TOKEN is exempt from
the approval gate and produces real Actions check runs. The jobs'
release-please skip guard now also matches ref_name, so the dispatched
run reports the checks green in seconds without re-running the suite.
@johncarmack1984
johncarmack1984 merged commit 6e15d31 into main Aug 10, 2026
7 checks passed
@johncarmack1984
johncarmack1984 deleted the ci/release-please-check-dispatch branch August 10, 2026 14:36
johncarmack1984 added a commit that referenced this pull request Aug 10, 2026
Dispatching CI onto the release-please branch (#54) never reported the required checks: prs_created is false on changelog-neutral pushes so the dispatch step skipped, and even unguarded it would fail because the release branch is only rebuilt when the changelog changes, so its stale ci.yml lacks the workflow_dispatch trigger.

Instead, the release workflow now creates the test/npm/deny check runs directly via the Checks API with GITHUB_TOKEN. Only GitHub Apps can create check runs, and GITHUB_TOKEN is the Actions app's token, so the stamps satisfy the ruleset's app-pinned contexts; a 'skipped' conclusion counts as passing. This has zero dependence on release-please outputs, the branch's file contents, or workflow triggers.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant