googleapis / googleapis/release-please

Manifest release stuck in release-loop with the same commits in the changelog when absolute changelog-path is specified

Open
#2,329 0 comments 0 reactions 1 assignee Claimed by @chingor13 View on GitHub
priority: p3 type: bug
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:

![image](https://github.com/googleapis/release-please/assets/4059524/0283170a-2b28-4620-946d-a47d15e9f69a)

This is the top of branch history:

![image](https://github.com/googleapis/release-please/assets/4059524/bb863112-f382-4dea-b3a5-e1425278176a)

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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.