Skip to content

ci: release PR workflow runs wait for approval and are marked failed on merge #314

Description

@Bccorb

What happens

The workflow runs on the changeset-release/main pull request are created waiting for a maintainer's approval and never start on their own. When the PR is merged without that approval, GitHub marks the pending runs failure at the merge timestamp, with no jobs and the message "This run likely failed because of a workflow file issue" on the run page. The workflow files are fine; nothing under .github/ changed between the runs that passed and the ones that failed.

Today's two release PRs show both outcomes:

Run Created Attempt 1 Attempt 2
CI 34727903584, CodeQL 34727903588, conformance 34727903852 on #309 2026-09-13 00:24Z action_required, triggered by github-actions[bot] success, triggered by Bccorb at 00:36Z
CI 34766734720, CodeQL 34766734715, conformance 34766735010 on #312 2026-09-13 15:49Z failure at 16:03:06Z (the merge time of #312), 0 jobs none
CI 34777624710, CodeQL 34777624672, conformance 34777624991 on #313 2026-09-13 19:25Z failure at 20:14:17Z (the merge time of #313), 0 jobs none

The same shape is on #305 (2026-09-12 15:18Z: attempt 1 waiting, attempt 2 approved and green). So every release PR's checks have depended on someone pressing approve before merging; #312 and #313 merged with no checks having run. Pushes to main are unaffected (Version Changelog PR and CodeQL run and pass), so the releases themselves built, tested and published normally.

Why it matters

Likely cause

release.yml hands changesets/action@v2 the repository's GITHUB_TOKEN (github-token: ${{ secrets.GITHUB_TOKEN }}), so the release branch and PR are authored by github-actions[bot]. Runs that actor triggers on a pull request are created action_required here rather than started, which is what attempt 1 shows every time. The release workflow already works around the other half of this (a GITHUB_TOKEN push does not trigger workflows, so it invokes the image build directly instead of relying on the tag event).

Options

  1. Check Settings, Actions, General for the approval requirement that is catching the bot's runs, and whether it can be scoped so same-repository PRs from github-actions[bot] start on their own.
  2. Give changesets/action a token with an identity of its own: a GitHub App installation token (actions/create-github-app-token) or a fine-grained PAT with contents and pull-requests write. Runs on the PR then start like any other PR's, and the tag push would trigger workflows normally, which would let the direct image-build invocation in release.yml go back to a tag-triggered job.
  3. Until one of those lands: approve the waiting runs on the release PR and wait for green before merging. The two green release PRs this week were exactly that.

Whichever option wins, it needs applying in each repository listed above; this issue is the record.

Activity

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

    P3Fixesgithub_actionsPull requests that update GitHub Actions code

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions