Skip to content

chore(ci): add workflows for CLI releases and changelog generation#1075

Merged
jakobmoellerdev merged 5 commits into
open-component-model:mainfrom
jakobmoellerdev:cli-rc
Oct 27, 2025
Merged

chore(ci): add workflows for CLI releases and changelog generation#1075
jakobmoellerdev merged 5 commits into
open-component-model:mainfrom
jakobmoellerdev:cli-rc

Conversation

@jakobmoellerdev

Copy link
Copy Markdown
Member

What this PR does / why we need it

  • Added release-candidate-version workflow:

    • Automates release candidate (RC) version computation and tagging.
    • Generates a changelog using git-cliff for the new RC version.
    • Outputs relevant metadata like tags, versions, and encoded changelog.
  • Added cli-release workflow:

    • Integrates release-candidate-version workflow.
    • Automates tagging, pre-release creation, and CLI builds.
    • Supports dry runs for testing without pushing tags.
  • Added necessary infrastructure:

    • Created cliff.toml Git-Cliff configuration for changelog styling.
    • Added compute-rc-version.js script with tests for RC version computation.

Which issue(s) this PR fixes

Enables automated versioning and changelog creation for CLI releases, aligning with best practices and ensuring consistent workflows.

Establishes an automated release process for streamlined software delivery and changelog generation.

eventually resolves open-component-model/ocm-project#699 but depends on #1073

#### What this PR does / why we need it:

- **Added `release-candidate-version` workflow**:
  - Automates release candidate (RC) version computation and tagging.
  - Generates a changelog using `git-cliff` for the new RC version.
  - Outputs relevant metadata like tags, versions, and encoded changelog.

- **Added `cli-release` workflow**:
  - Integrates `release-candidate-version` workflow.
  - Automates tagging, pre-release creation, and CLI builds.
  - Supports dry runs for testing without pushing tags.

- Added necessary infrastructure:
  - Created `cliff.toml` Git-Cliff configuration for changelog styling.
  - Added `compute-rc-version.js` script with tests for RC version computation.

Enables automated versioning and changelog creation for CLI releases, aligning with best practices and ensuring consistent workflows.

Establishes an automated release process for streamlined software delivery and changelog generation.

Signed-off-by: Jakob Möller <jakob.moeller@sap.com>
@github-actions github-actions Bot added kind/feature new feature, enhancement, improvement, extension component/github-actions Changes on GitHub Actions or within `.github/` directory size/l Large and removed kind/feature new feature, enhancement, improvement, extension labels Oct 22, 2025
@jakobmoellerdev jakobmoellerdev changed the title feat(ci): add workflows for CLI releases and changelog generation chore(ci): add workflows for CLI releases and changelog generation Oct 22, 2025
@github-actions github-actions Bot added the kind/chore chore, maintenance, etc. label Oct 22, 2025
@matthiasbruns

Copy link
Copy Markdown
Contributor

read about git-cliff and it looks promising
love the use of scripts and testing

@jakobmoellerdev jakobmoellerdev marked this pull request as ready for review October 23, 2025 13:58
@jakobmoellerdev jakobmoellerdev requested a review from a team as a code owner October 23, 2025 13:58
@morri-son

Copy link
Copy Markdown
Contributor

read about git-cliff and it looks promising

Yes, quite a nice tool. The section for bumps reads similar mighty as Jakob's sophisticated code 😊

@jakobmoellerdev

Copy link
Copy Markdown
Member Author

good callout. Originally I wanted to have cliffs bumping code but then noticed quickly that we are not correctly using our conventional commit specification. that is because while we do want to mark breaking changes, we dont want the bump to automatically go into a minor yet. still im thinking if we can maybe make it so that cliff only ever bumps a patch version, that would fix this!

morri-son
morri-son previously approved these changes Oct 23, 2025

@morri-son morri-son left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks very nice! Especially the summary with the table. We should really move to js instead of bash, as this looks much better maintainable and capable.

Comment thread .github/scripts/compute-rc-version.js
Skarlso
Skarlso previously approved these changes Oct 24, 2025

@Skarlso Skarlso left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fucking beautiful man. I have no notes. Okay, one note. :D

Comment thread .github/scripts/compute-rc-version.test.js Outdated
Signed-off-by: Jakob Möller <jakob.moeller@sap.com>
@jakobmoellerdev jakobmoellerdev dismissed stale reviews from Skarlso and morri-son via 8b3154a October 24, 2025 09:47
@jakobmoellerdev jakobmoellerdev enabled auto-merge (squash) October 27, 2025 10:34
@jakobmoellerdev jakobmoellerdev merged commit 8ffaedd into open-component-model:main Oct 27, 2025
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

component/github-actions Changes on GitHub Actions or within `.github/` directory kind/chore chore, maintenance, etc. size/l Large

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Create Github workflow for creation of Release Candidates

4 participants