googleapis / googleapis/release-please
Manifest release stuck in release-loop with the same commits in the changelog when absolute changelog-path is specified
- Dominant language
- TypeScript
- Stars
- 7.5k
- Forks
- 588
- Avg merge
- 12h 16m
- Merged PRs (30d)
- 7
Description
#### Environment details
- release-please-action@4
- `release-please` version: 16.12.0
#### Steps to reproduce
I have a large monorepo, with releasable unit being a generated code. The structure basically looks like this:
/base/Agent
/overwrites/Agent
/generated/Agent[this is releasable and an output of base x overwrites]
(where Agent is one of the packages)
I don't want to keep the CHANGELOG.md in the generated directory because, well, it's always deleted and recreated from scratch, and there's a different automatically generated changelog being created there, that shows the API differences between the versions.
If I specify the **absolute** path to the CHANGELOG in the manifest to a new directory
/changelogs/Agent/CHANGELOG.md
the CHANGELOG is kept, but the release-please goes into a infinite loop
This is is the resulting changelog:

This is the top of branch history:

This is the .release-please-manifest.json that only release-please writes to:
```
{
"physical/generated/schemas-resolved/Core.Agent": "1.6.0",
}
```
And the config:
```
{
"bootstrap-sha": "e5e75933ba0f50f79b1db2a32abc1045ed1d3f1f",
"include-component-in-tag": true,
"include-v-in-tag": true,
"release-type": "simple",
"separate-pull-requests": true,
"packages": {
"physical/generated/schemas-resolved/Core.Agent": {
"package-name": "UDM.Core.Agent",
"component": "UDM.Core.Agent",
"changelog-path": "/physical/changelogs-release-please/UDM.Core.Agent/CHANGELOG.md"
}
},
"changelog-sections": [
{
"type": "feat",
"section": "Features"
},
{
"type": "feature",
"section": "Features"
},
{
"type": "fix",
"section": "Bug Fixes"
},
{
"type": "revert",
"section": "Reverts"
},
{
"type": "docs",
"section": "Documentation",
"hidden": false
},
{
"type": "refactor",
"section": "Code Refactoring",
"hidden": false
},
{
"type": "test",
"section": "Tests",
"hidden": "true"
},
{
"type": "ci",
"section": "Continuous Integration",
"hidden": "true"
}
]
}
```
Is there a special release-type or another way to preserve the CHANGELOG in a directory different than the package?
Contributor guide
Assessment
This issue has not been assessed yet.