googleapis / googleapis/release-please-action
Allow Editing Release-Please PR without Force Push
- Dominant language
- TypeScript
- Stars
- 2.5k
- Forks
- 327
- PR merge metrics
- No merged PRs in 30d
Description
Hi there,
We use release-please PRs to aggregate our CHANGELOG, but also as the branch that we deploy staging from. We have some Github Actions that only run on the release-please branch and it will update some of the files in the branch accordingly and run some tests. We've noticed this problem where these files that get updated will get reverted during a "force-push" when a new PR is merged with main. Instead of preserving these changes, the force-push reverts the state of the PR to the latest set of changes made to the CHNAGELOG and corresponding plugin files. Is there a way to configure this force-push behavior and instead configure a merge strategy so we can keep the changes that were already triggered by our actions?
Here is how we trigger release-please:
~~~yaml
on:
push:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
name: release-please
jobs:
release-please:
steps:
- name: Generate token
id: generate_token
uses: tibdex/github-app-token@v2
with:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.PK }}
- name: release please
uses: googleapis/release-please-action@v4
id: release
with:
token: ${{ steps.generate_token.outputs.token }}
~~~
Here's our release-please-config.json
~~~json
{
"release-type": "simple",
"pull-request-title-pattern": "chore${scope}: release${component} ${version}",
"bump-minor-pre-major": true,
"changelog-sections": [
{
"type": "chore",
"section": "Misc",
"hidden": false
},
{
"type": "feat",
"section": "Features",
"hidden": false
},
{
"type": "fix",
"section": "Bug Fixes",
"hidden": false
},
{
"type": "deps",
"section": "Dependencies",
"hidden": false
},
{
"type": "revert",
"section": "Reverts",
"hidden": false
},
{
"type": "docs",
"section": "Documentation",
"hidden": false
},
{
"type": "style",
"section": "Styles",
"hidden": false
},
{
"type": "test",
"section": "Tests",
"hidden": false
},
{
"type": "ci",
"section": "Continuous Integration",
"hidden": false
},
{
"type": "perf",
"section": "Performance Improvements",
"hidden": false
},
{
"type": "refactor",
"section": "Code Refactoring",
"hidden": false
}
],
"packages": {
"entity_registry": {
"package-name": "entity_registry"
}
}
}
~~~
Contributor guide
Research direction
Reproduce the behavior using the workflow and release-please-config.json shown in the issue, then inspect how release PR branches are updated after merges to main. Determine whether a configurable merge strategy can preserve action-generated changes; done means the behavior is supported or its limitation is clearly documented, with coverage for the relevant update path.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions
- Domain
- ci-cd, release
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100