feat: add release-please workflow generation - #1831
Merged
Merged
Conversation
Adds devctl gen workflows --release-workflow=release-please support.
New flags:
--release-workflow legacy (default) | release-please
--changelog-style legacy (default) | default
--auto-release none (default) | patch | minor | major
When --release-workflow=release-please devctl generates:
- zz_generated.release-please.yaml (always regenerated): calls the
giantswarm/github-workflows release-please reusable workflow
- release-please-config.json (generate-once): Release Please config
with changelog-sections mapped to ### Added/Changed/Fixed (legacy
style) or Angular preset (default style)
- .release-please-manifest.json (generate-once): empty manifest
initialised to {}; Release Please updates it on first run
Legacy mode is unchanged: create_release, create_release_pr, and
validate_changelog continue to be generated as before.
The config and manifest files use plain filenames (no zz_generated.
prefix) so they are generate-once scaffolding: devctl skips them on
subsequent runs if they already exist, letting users extend them (e.g.
add version-files for repos like architect).
uvegla
approved these changes
May 21, 2026
Contributor
|
|
Contributor
Author
|
I'm discussing this with @fiunchinho right now because we cannot fully implement auto releases for now as we still need a human to approve the release PRs. We can add it afterwards and still provide the release PR with release-please for now |
QuentinBisson
marked this pull request as ready for review
May 21, 2026 11:35
QuentinBisson
added a commit
that referenced
this pull request
May 21, 2026
QuentinBisson
added a commit
that referenced
this pull request
May 21, 2026
…se-please-config (#1833) * feat(gen/workflows): map security: commits to ### Security in release-please-config Both --changelog-style=legacy and --changelog-style=release-please now route the security: conventional commit type to ### Security in the generated release-please-config.json. The release-please style also now emits the full Angular-to-Keep-a-Changelog mapping (feat to ### Added, fix to ### Fixed, remaining types to ### Changed) instead of falling back to Release Please's Angular defaults. Release Please matches changelog-sections on commit type only, so a dedicated security: type is required to route CVE fixes and vulnerability mitigations to ### Security without rewriting PR titles. * chore: regenerate release_please template SHA after #1831
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds
--release-workflow=release-pleasesupport todevctl gen workflows.New flags
--release-workflowlegacy,release-pleaselegacy--changelog-stylelegacy,release-pleaselegacy--auto-releasenone,patch,minor,majornoneGenerated files (release-please mode)
.github/workflows/zz_generated.release-please.yamlgiantswarm/github-workflowsreusable workflowrelease-please-config.jsonchangelog-sectionsmapped to### Added/Changed/Fixed(legacy style) or Angular preset (release-please style).release-please-manifest.json{}; Release Please updates it on every runConfig and manifest use plain filenames (no
zz_generated.prefix) so subsequentdevctl genruns skip them if the files already exist. Users can extend the config freely, e.g. addversion-filesfor repos that embed their version in Go source.Legacy mode
Unchanged.
create_release,create_release_pr, andvalidate_changelogcontinue to be generated as before when--release-workflow=legacy(the default).Scraper compatibility
legacychangelog style mapsfeat→### Added,fix→### Fixed, and everything else →### Changed, preserving the section headers the devctl changelog parser (used bygiantswarm/releasesrelease notes) hardcodes.Depends on
giantswarm/github-workflows#176