ci: migrate release-please to CLI + accept LABELER_PAT fallback#116
Merged
Conversation
`googleapis/release-please-action@v5.0.0` is deprecated and bundles
an old release-please library that's been returning persistent
401 "Bad credentials" on multiple endpoints (commit backfill,
snoozed-PR lookup) since 2026-05. Reruns helped intermittently
but the failures keep recurring on every push to main.
Drop the action and call the official `release-please` CLI v17
directly with `npx` instead. The CLI uses the same `GITHUB_TOKEN`
cleanly. Both phases run unconditionally on every push:
- `release-pr` keeps the release PR up-to-date (idempotent)
- `github-release` publishes the tag + release IF the head
commit is the release-PR merge (no-op otherwise)
The release PR branch name stays the same
(`release-please--branches--main--components--waveflow`), so the
companion `release-please-lockfile-build.yml` keeps gating
correctly on `startsWith(head_ref, 'release-please--')` and
`user.login == 'github-actions[bot]'`.
label-pr.yml: accept an optional `LABELER_PAT` secret as the auth
token, falling back to the auto-generated `GITHUB_TOKEN` when not
set. Same 401 class of failures hit the `addLabels` and
`removeLabel` REST calls in this workflow; the documented escape
hatch is a fine-grained PAT scoped to issues + pull_requests
write on this repo. Empty secrets are falsy in the ternary so
unset → fallback works without extra plumbing.
|
Important Review skippedIgnore keyword(s) in the title. ⛔ Ignored keywords (5)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
`googleapis/release-please-action@v5.0.0` is deprecated and bundles an old release-please library. Since 2026-05 it has been returning persistent 401 "Bad credentials" on multiple endpoints (commit backfill, snoozed-PR lookup). Reruns sometimes succeed but the failures recur on every push to main, so the release PR isn't being updated with the latest merges.
`actions/labeler` + `actions/github-script` (in `label-pr.yml`) hit the same class of 401 on label POSTs — less often, but the documented workaround is the same: bypass the auto-generated `GITHUB_TOKEN` with a PAT.
What
`release-please.yml`
`label-pr.yml`
Required action from the maintainer
Create a fine-grained PAT scoped to this repo, with these permissions:
Then add it to the repo as a secret named `LABELER_PAT`:
`Settings → Secrets and variables → Actions → New repository secret`
Without this secret the workflow falls back to `GITHUB_TOKEN` — exactly today's behaviour, so nothing breaks if you postpone it.
Test plan