Commit 421f70d
ci: run release-please via CLI instead of the googleapis action (#324)
## What
Rewrites the release-please workflow (added in #321) to run the
release-please **CLI** under `actions/setup-node`, instead of
`googleapis/release-please-action`.
## Why
After #321 merged, the workflow **failed at startup** on every push to
`main` (`startup_failure`, no logs, no release PR cut). The merged YAML
is valid and the action SHA resolves — the cause is the org Actions
**allow-list**: `googleapis/release-please-action` isn't on it. (Every
other workflow here uses only `actions/`, `astral-sh/`, `docker/`,
`stainless-api/`, `codecov/`, `dorny/`; the Actions-policy API is
admin-only/403 for me, so I couldn't read it directly, but the signature
is unambiguous.)
## Fix
Run `npx release-please@16 release-pr` + `github-release` (manifest mode
— same as the action did internally) under `actions/setup-node@v4`,
which is allow-listed (`actions/*` is used throughout the repo). No
third-party action → allow-list-proof.
Verified the CLI commands (`release-pr`/`github-release`;
`manifest-pr`/`manifest-release` are deprecated aliases) and flags
(`--token`, `--repo-url`, `--config-file`, `--manifest-file`) against
`release-please@16`.
## After merge
Runs on `main`; once a `feat`/`fix` lands (or via `workflow_dispatch`)
it opens the first release PR → merging that cuts the first `vX.Y.Z`
tag. Config + manifest are unchanged from #321.
🧑💻🤖 — posted via [Claude Code](https://claude.com/claude-code)
<!-- claude-code -->
<!-- greptile_comment -->
<h3>Greptile Summary</h3>
- Replaces the blocked `googleapis/release-please-action` workflow step
with direct `release-please@16` CLI commands.
- Sets up Node 20 through `actions/setup-node@v4` before running release
PR and GitHub release commands.
- Keeps the existing release-please config and manifest files while
adding `issues: write` for label management.
<details><summary><h3>Confidence Score: 5/5</h3></summary>
The workflow change is narrowly scoped to replacing a blocked GitHub
Action with equivalent CLI invocations.
Only one CI workflow file changed, the release-please config and
manifest remain unchanged, and no code issues were identified.
</details>
<details><summary><h3><a href="https://www.greptile.com/trex"><img
alt="T-Rex"
src="https://greptile-static-assets.s3.amazonaws.com/trex/trex_green.svg"
height="20" align="absmiddle"></a> T-Rex Logs</h3></summary>
**What T-Rex did**
- The T-Rex run performed a pre-artifact check by inspecting the base
release-please CLI workflow using git show and grep probes.
- The T-Rex run performed a post-artifact validation that included a
second git show, YAML parse success, workflow contract probes,
referenced file checks, and the release-please@16 CLI version/help
output.
- The T-Rex run confirmed the overall step completed with
FINAL\_EXIT\_CODE: 0.
<a
href="https://app.greptile.com/trex/runs/11434739/artifacts"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://greptile-static-assets.s3.amazonaws.com/badges/ViewAllArtifactsDark.svg?v=1"><source
media="(prefers-color-scheme: light)"
srcset="https://greptile-static-assets.s3.amazonaws.com/badges/ViewAllArtifacts.svg?v=1"><img
alt="View all artifacts"
src="https://greptile-static-assets.s3.amazonaws.com/badges/ViewAllArtifacts.svg?v=1"
height="32"></picture></a>
<sub><a href="https://www.greptile.com/trex"><img alt="T-Rex"
src="https://greptile-static-assets.s3.amazonaws.com/trex/trex_green.svg"
height="14" align="absmiddle"></a> Ran code and verified through
T-Rex</sub>
</details>
<!-- greptile_failed_comments -->
<details open><summary><h3>Comments Outside Diff (1)</h3></summary>
1. `.github/workflows/release-please.yml`, line 12-14
([link](https://github.com/scaleapi/scale-agentex/blob/70d312412b8b374d141bc0aece5723043bd20e11/.github/workflows/release-please.yml#L12-L14))
<a href="#"><img alt="P1"
src="https://greptile-static-assets.s3.amazonaws.com/badges/p1.svg?v=9"
align="top"></a> **Grant label permissions**
The CLI still applies and removes release-please labels on release PRs,
and those calls go through GitHub's Issues API. This workflow only
grants `contents: write` and `pull-requests: write`, so the job can fail
with a permissions error when it tries to add or remove labels like
`autorelease: pending`. Add `issues: write` here so the CLI has the same
label permissions the release flow needs.
<details><summary>Prompt To Fix With AI</summary>
`````markdown
This is a comment left during a code review.
Path: .github/workflows/release-please.yml
Line: 12-14
Comment:
**Grant label permissions**
The CLI still applies and removes release-please labels on release PRs,
and those calls go through GitHub's Issues API. This workflow only
grants `contents: write` and `pull-requests: write`, so the job can fail
with a permissions error when it tries to add or remove labels like
`autorelease: pending`. Add `issues: write` here so the CLI has the same
label permissions the release flow needs.
How can I resolve this? If you propose a fix, please make it concise.
`````
</details>
<a
href="https://app.greptile.com/api/ide/cursor?prompt=This%20is%20a%20comment%20left%20during%20a%20code%20review.%0APath%3A%20.github%2Fworkflows%2Frelease-please.yml%0ALine%3A%2012-14%0A%0AComment%3A%0A**Grant%20label%20permissions**%0A%0AThe%20CLI%20still%20applies%20and%20removes%20release-please%20labels%20on%20release%20PRs%2C%20and%20those%20calls%20go%20through%20GitHub's%20Issues%20API.%20This%20workflow%20only%20grants%20%60contents%3A%20write%60%20and%20%60pull-requests%3A%20write%60%2C%20so%20the%20job%20can%20fail%20with%20a%20permissions%20error%20when%20it%20tries%20to%20add%20or%20remove%20labels%20like%20%60autorelease%3A%20pending%60.%20Add%20%60issues%3A%20write%60%20here%20so%20the%20CLI%20has%20the%20same%20label%20permissions%20the%20release%20flow%20needs.%0A%0AHow%20can%20I%20resolve%20this%3F%20If%20you%20propose%20a%20fix%2C%20please%20make%20it%20concise.&pr=324&platform=github"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://greptile-static-assets.s3.amazonaws.com/badges/FixInCursorDark.svg?v=3"><source
media="(prefers-color-scheme: light)"
srcset="https://greptile-static-assets.s3.amazonaws.com/badges/FixInCursor.svg?v=3"><img
alt="Fix in Cursor"
src="https://greptile-static-assets.s3.amazonaws.com/badges/FixInCursor.svg?v=3"
height="20"></picture></a> <a
href="https://app.greptile.com/ide/claude-code?prompt=This%20is%20a%20comment%20left%20during%20a%20code%20review.%0APath%3A%20.github%2Fworkflows%2Frelease-please.yml%0ALine%3A%2012-14%0A%0AComment%3A%0A**Grant%20label%20permissions**%0A%0AThe%20CLI%20still%20applies%20and%20removes%20release-please%20labels%20on%20release%20PRs%2C%20and%20those%20calls%20go%20through%20GitHub's%20Issues%20API.%20This%20workflow%20only%20grants%20%60contents%3A%20write%60%20and%20%60pull-requests%3A%20write%60%2C%20so%20the%20job%20can%20fail%20with%20a%20permissions%20error%20when%20it%20tries%20to%20add%20or%20remove%20labels%20like%20%60autorelease%3A%20pending%60.%20Add%20%60issues%3A%20write%60%20here%20so%20the%20CLI%20has%20the%20same%20label%20permissions%20the%20release%20flow%20needs.%0A%0AHow%20can%20I%20resolve%20this%3F%20If%20you%20propose%20a%20fix%2C%20please%20make%20it%20concise.&repo=scaleapi%2Fscale-agentex&pr=324&platform=github"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://greptile-static-assets.s3.amazonaws.com/badges/FixInClaudeDark.svg?v=3"><source
media="(prefers-color-scheme: light)"
srcset="https://greptile-static-assets.s3.amazonaws.com/badges/FixInClaude.svg?v=3"><img
alt="Fix in Claude Code"
src="https://greptile-static-assets.s3.amazonaws.com/badges/FixInClaude.svg?v=3"
height="20"></picture></a> <a
href="https://app.greptile.com/api/ide/codex?prompt=IMPORTANT%3A%20Work%20in%20the%20repository%20%22scaleapi%2Fscale-agentex%22%20on%20the%20existing%20branch%20%22maxparke%2Ffix-release-please-npx%22.%20Checkout%20that%20branch%20%E2%80%94%20do%20NOT%20create%20a%20new%20branch%20or%20open%20a%20new%20PR.%20Push%20your%20changes%20to%20%22maxparke%2Ffix-release-please-npx%22.%0A%0AThis%20is%20a%20comment%20left%20during%20a%20code%20review.%0APath%3A%20.github%2Fworkflows%2Frelease-please.yml%0ALine%3A%2012-14%0A%0AComment%3A%0A**Grant%20label%20permissions**%0A%0AThe%20CLI%20still%20applies%20and%20removes%20release-please%20labels%20on%20release%20PRs%2C%20and%20those%20calls%20go%20through%20GitHub's%20Issues%20API.%20This%20workflow%20only%20grants%20%60contents%3A%20write%60%20and%20%60pull-requests%3A%20write%60%2C%20so%20the%20job%20can%20fail%20with%20a%20permissions%20error%20when%20it%20tries%20to%20add%20or%20remove%20labels%20like%20%60autorelease%3A%20pending%60.%20Add%20%60issues%3A%20write%60%20here%20so%20the%20CLI%20has%20the%20same%20label%20permissions%20the%20release%20flow%20needs.%0A%0AHow%20can%20I%20resolve%20this%3F%20If%20you%20propose%20a%20fix%2C%20please%20make%20it%20concise.&repo=scaleapi%2Fscale-agentex&pr=324&platform=github"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://greptile-static-assets.s3.amazonaws.com/badges/FixInCodexDark.svg?v=3"><source
media="(prefers-color-scheme: light)"
srcset="https://greptile-static-assets.s3.amazonaws.com/badges/FixInCodex.svg?v=3"><img
alt="Fix in Codex"
src="https://greptile-static-assets.s3.amazonaws.com/badges/FixInCodex.svg?v=3"
height="20"></picture></a>
</details>
<!-- /greptile_failed_comments -->
<sub>Reviews (2): Last reviewed commit: ["ci: run release-please via CLI
instead
o..."](b21deb7)
| [Re-trigger
Greptile](https://app.greptile.com/api/retrigger?id=38215319)</sub>
<!-- /greptile_comment -->
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>1 parent cae5f94 commit 421f70d
1 file changed
Lines changed: 19 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
4 | | - | |
| 3 | + | |
| 4 | + | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
15 | 16 | | |
16 | 17 | | |
17 | 18 | | |
18 | 19 | | |
19 | 20 | | |
20 | 21 | | |
21 | | - | |
| 22 | + | |
22 | 23 | | |
23 | | - | |
24 | | - | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
0 commit comments