googleapis / googleapis/release-please-action
Separate pull requests not functioning as expected
- Dominant language
- TypeScript
- Stars
- 2.5k
- Forks
- 327
- PR merge metrics
- No merged PRs in 30d
Description
### TL;DR
When I have `"separate-pull-requests": true` in my release please config, it doesn't seem to track commits and manage release PRs correctly. I'm not sure if my configuration is wrong, or I misunderstood the manifest-driven documentation somehow.
Any help would be appreciated, I'm very confused about the correct configuration here...
My config:
```
{
"packages": {
"packages/aspire-icons": {},
"packages/aspire-ui": {},
"apps/email-templates": {},
"apps/keycloak-theme": {},
"apps/webapp-customer": {},
"apps/webapp-marketing": {}
},
"separate-pull-requests": true
}
```
My manifest:
```
{
"apps/email-templates": "1.1.1",
"packages/aspire-ui": "1.0.0",
"packages/aspire-icons": "1.0.0",
"apps/webapp-customer": "1.1.0",
"apps/keycloak-theme": "1.2.1",
"apps/webapp-marketing": "1.0.0"
}
```
### Expected behavior
Parse commits and bump versions for only the packages whose names are within the commit message parentheses i.e. `fix(email-templates): bla bla` should only bump `apps/email-templates`
### Observed behavior
- The release please action is bumping versions for unrelated packages. For example, I just committed `fix(email-templates): trigger release` and it updated every other release PR too. For example, an unrelated package `icons` now has a release PR with:
```
1.0.1 (2024-03-27)
Bug Fixes
- email-templates: trigger release
- email-templates: trigger release
- webapp-customer: test patch semver
```
And the same with every other package in the monorepo.
However, sometimes when we merge large PRs with a bunch of commits, it updates the correct release PRs related to those commits.
### Action YAML
```yaml
on:
push:
branches:
- main
permissions:
contents: write
pull-requests: write
name: Release Please
jobs:
release-please:
runs-on: ubuntu-latest
steps:
- uses: GoogleCloudPlatform/release-please-action@v4
id: release
with:
token: ${{ secrets.RELEASE_TOKEN }}
```
### Log output
_No response_
### Additional information
- The `name` in the `package.json` of each package is the same as what I'm including in my commit mesasge i.e. `fix(package-name)`, except for ones like `@aspire/ui` for which release please seems to tag as just `ui`, so I commit as `fix(ui)`.
Contributor guide
Research direction
Start with the provided action YAML, release configuration, and manifest, then reproduce the behavior using the shown separate-pull-requests setting and commit scopes. Compare which packages receive release PRs with the expected package names, and consider the issue done when unrelated packages no longer receive version bumps or release entries.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, typescript
- Domain
- ci-cd, release
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100