googleapis / googleapis/release-please
Merged release PRs create no release under REST API version 2026-03-10
- Dominant language
- TypeScript
- Stars
- 7.5k
- Forks
- 588
- Avg merge
- 12h 16m
- Merged PRs (30d)
- 7
Description
#### Environment details
- OS: `ubuntu-latest` GitHub Actions runner
- Node.js version: 24, through `googleapis/release-please-action@v5.0.0`
- npm version: none, release-please runs inside the action
- `release-please` version: 17.11.2
#### Steps to reproduce
1. Read a merged release PR with REST API version `2026-03-10`. `gh api -H 'X-GitHub-Api-Version: 2026-03-10' repos/googleapis/release-please/pulls/2888` returns no `merge_commit_sha`, and `2022-11-28` returns `05c6a4f71022304d4edad24ea90c1c16324503d5`. GitHub removed the field in that version:
https://docs.github.com/en/rest/about-the-rest-api/breaking-changes?apiVersion=2026-03-10
2. release-please lists merged release PRs over REST and takes their `sha` from `merge_commit_sha`:
https://github.com/googleapis/release-please/blob/v17.11.2/src/manifest.ts#L1146-L1153
https://github.com/googleapis/release-please/blob/v17.11.2/src/github-api.ts#L405
3. Without a `sha`, `buildRelease` logs `Pull request should have been merged` and creates no tag or release, and the run still ends green:
https://github.com/googleapis/release-please/blob/v17.11.2/src/strategies/base.ts#L602-L605
Contributor guide
Research direction
Begin with the merged-PR handling in src/manifest.ts and src/github-api.ts, then follow the missing-SHA path in src/strategies/base.ts. Reproduce the request with the two API-version headers and verify that a merged release PR produces its tag and release rather than a green run with no release.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github, github-actions, node.js, typescript
- Domain
- ci-cd, release
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 74/100