googleapis / googleapis/release-please-action

Separate pull requests not functioning as expected

Open
#964 0 comments 1 reaction 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.