Skip to content

fix(release-please): handle label-race gracefully with error guard#241

Open
JacobPEvans wants to merge 2 commits intomainfrom
fix/release-please-label-race
Open

fix(release-please): handle label-race gracefully with error guard#241
JacobPEvans wants to merge 2 commits intomainfrom
fix/release-please-label-race

Conversation

@JacobPEvans
Copy link
Copy Markdown
Owner

@JacobPEvans JacobPEvans commented Apr 27, 2026

Summary

Fixes a race condition where googleapis/release-please-action@v5 fails with "Could not resolve to a node" when applying the autorelease: pending label immediately after PR creation (the PR's global node ID hasn't propagated yet). The fix tolerates the initial failure and adds a guard step that re-fails only on genuine errors (auth, config, API issues).

Changes

  • .github/workflows/_release-please.yml:
    • Add continue-on-error: true to the googleapis/release-please-action@v5 step with explanatory comment
    • Add downstream guard step that re-fails when release-please errors AND the REST lookup finds no PR — catching genuine failures (auth/config/API) while silencing the cosmetic label-race
    • The existing Find release PR number step already discovers the PR via REST, so a label-only failure no longer fails the job

Test Plan

  • Trigger release-please on a consumer repo and confirm the job exits 0 even when the GraphQL addLabel call returns "Could not resolve to a node"
  • Confirm the release PR is still created and downstream auto-merge still runs
  • Verify that genuine auth/config/API errors still fail the workflow via the guard step (release-please errored AND no PR found via REST)

Closes #234

…-error

The googleapis/release-please-action@v5 step opens the release PR
successfully but then immediately tries to apply `autorelease: pending`
via GraphQL. The PR's global node ID hasn't propagated yet at that point,
so GitHub returns "Could not resolve to a node" — failing the job even
though the PR was created correctly.

Adding `continue-on-error: true` lets the downstream `Find release PR
number` step discover the PR via REST and continue normally. The missing
label is cosmetic; release-please re-applies it on the next run.

(claude)
Copilot AI review requested due to automatic review settings April 27, 2026 11:58
@gemini-code-assist
Copy link
Copy Markdown

Note

Gemini is unable to generate a summary for this pull request due to the file types involved not being currently supported.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the reusable release-please workflow to avoid failing the entire job when googleapis/release-please-action@v5 intermittently errors while applying the autorelease: pending label.

Changes:

  • Add continue-on-error: true to the googleapis/release-please-action@v5 step.
  • Add an explanatory comment describing the label-application race condition.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/_release-please.yml
continue-on-error masks all release-please failures, not just the transient
label-application race. Add a guard step that re-fails the job when the
release step errored AND the downstream REST lookup finds no release PR —
distinguishing a genuine auth/config/API failure from the harmless race.

(claude)
@JacobPEvans JacobPEvans changed the title fix(release-please): tolerate label-application race with continue-on-error fix(release-please): handle label-race gracefully with error guard Apr 27, 2026
Copy link
Copy Markdown
Owner Author

@JacobPEvans JacobPEvans left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no - no custom workflows/scripts just to get native functionality to work. No.

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.

Shared _release-please.yml fails on label race after PR creation

2 participants