googleapis / googleapis/release-please
Having a lot of issues with the `autorelease: snooze` label
- Dominant language
- TypeScript
- Stars
- 7.5k
- Forks
- 588
- Avg merge
- 12h 16m
- Merged PRs (30d)
- 7
Description
I'm making this ticket as a place to document the issues I've been having with this label.
1. Instead of snoozed PRs being reopened, I'm sometimes seeing them be recreated with a new PR number.
- This is because code suggested doesn't expose reopen functionality UUIC.
2. release-please often creates unwanted new PRs for snoozed PRs. Looking at [the implementation](https://github.com/googleapis/release-please/blob/main/src/manifest.ts#L1091-L1109) I can see a few issues:
- The `body` contains the date. The new/old body will always be different once a day has elapsed
- You do this in `maybeUpdateExistingPullRequest` as well FYI
- If the PR is closed then a new PR will be created because of issue (1) above
3. If the snoozed PR is open then I get:
```
cause: RequestError [HttpError]: Validation Failed: {"resource":"PullRequest","code":"custom","field":"state","message":"state cannot be changed. There is already an open pull request from release-please--branches--main--components--xxx to main."}
```
- I think this is related to (2) above but it's what happens when the snoozed PR is open rather than closed. When this happens release-please throws an error and exits, which results in a failure for every component in a monorepo, rather than just the one that got the error. This is really bad because the exit happens before tags are updated etc. It causes undefined behavior for the caller
4. The `autorelease: snooze` label is basically undocumented. I found it by looking through issues and PRs
Contributor guide
Assessment
This issue has not been assessed yet.