-
Notifications
You must be signed in to change notification settings - Fork 15
task: workflow to replace release plz #1276
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Dependency Review✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.OpenSSF Scorecard
Scanned Files
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces a new git-cliff configuration file and a manual release workflow as an alternative to the existing release-plz automated release system. The changes enable the team to prepare releases using git-cliff for changelog generation and manual version bumping.
- Added cliff.toml configuration file with git-cliff settings for changelog generation
- Created a new GitHub Actions workflow for manual release preparation without release-plz
- Workflow includes smart fast-path tagging for metadata-only changes and semver-based version bumping
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 5 comments.
| File | Description |
|---|---|
| cliff.toml | Adds git-cliff configuration with commit parsers, preprocessors, and changelog template compatible with the existing release-plz setup |
| .github/workflows/prepare_release_without_release_plz.yaml | Implements a manual release preparation workflow with automatic version detection, changelog generation, and PR creation |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| body = """ | ||
|
|
||
| ## [{{ version }}]\ |
Copilot
AI
Nov 5, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The timestamp format differs from release-plz.toml which uses {{ timestamp | date(format=\"%Y-%m-%d\") }} (line 73 in release-plz.toml). This inconsistency could lead to different timestamp formats in changelogs. Consider using the same format for consistency.
| {%- if release_link -%}\ | ||
| ({{ release_link }})\ | ||
| {% endif %} \ | ||
| - {{ timestamp }} |
Copilot
AI
Nov 5, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The timestamp format differs from release-plz.toml which uses {{ timestamp | date(format=\"%Y-%m-%d\") }} (line 73 in release-plz.toml). This inconsistency could lead to different timestamp formats in changelogs. Consider using the same format for consistency.
| - {{ timestamp }} | |
| - {{ timestamp | date(format="%Y-%m-%d") }} |
| - {{ statistics.commit_count }} commit(s) contributed to the release. | ||
| - {{ statistics.commits_timespan | default(value=0) }} day(s) passed between the first and last commit. | ||
| - {{ statistics.conventional_commit_count }} commit(s) parsed as conventional. | ||
| - {{ statistics.links | length }} linked issue(s) detected in commits. | ||
| {%- if statistics.links | length > 0 %} | ||
| {%- for link in statistics.links %} | ||
| {{ " " }}- [{{ link.text }}]({{ link.href }}) (referenced {{ link.count }} time(s)) | ||
| {%- endfor %} | ||
| {%- endif %} | ||
| {%- if statistics.days_passed_since_last_release %} | ||
| - {{ statistics.days_passed_since_last_release }} day(s) passed between releases. | ||
| {%- endif %} |
Copilot
AI
Nov 5, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The git-cliff template includes statistics (lines 71-82) that are not present in the release-plz.toml template (lines 67-100). This will cause changelogs generated by git-cliff to have a different format than those generated by release-plz, which could be confusing for users. Consider removing these statistics or adding them to release-plz.toml for consistency.
| - {{ statistics.commit_count }} commit(s) contributed to the release. | |
| - {{ statistics.commits_timespan | default(value=0) }} day(s) passed between the first and last commit. | |
| - {{ statistics.conventional_commit_count }} commit(s) parsed as conventional. | |
| - {{ statistics.links | length }} linked issue(s) detected in commits. | |
| {%- if statistics.links | length > 0 %} | |
| {%- for link in statistics.links %} | |
| {{ " " }}- [{{ link.text }}]({{ link.href }}) (referenced {{ link.count }} time(s)) | |
| {%- endfor %} | |
| {%- endif %} | |
| {%- if statistics.days_passed_since_last_release %} | |
| - {{ statistics.days_passed_since_last_release }} day(s) passed between releases. | |
| {%- endif %} |
| mapfile -t crates < <(git ls-files '**/Cargo.toml' ':!target/**' ':!.github/**') | ||
| for cargo_toml in "${crates[@]}"; do | ||
| dir="$(dirname "${cargo_toml}")" | ||
| ( cd "${dir}" && git-cliff "${since_flag[@]}" --output CHANGELOG.md ) |
Copilot
AI
Nov 5, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The git-cliff command runs without specifying a configuration file, so it will use the default cliff.toml. However, if git-cliff is run from a subdirectory, it may not find the cliff.toml in the repository root. Consider adding --config ../../cliff.toml or similar path resolution to ensure the configuration is found.
| ( cd "${dir}" && git-cliff "${since_flag[@]}" --output CHANGELOG.md ) | |
| ( cd "${dir}" && git-cliff "${since_flag[@]}" --config "$(git rev-parse --show-toplevel)/cliff.toml" --output CHANGELOG.md ) |
| done | ||
|
|
||
| git-cliff "${since_flag[@]}" --output CHANGELOG_PR.md | ||
| git add CHANGELOG_PR.md |
Copilot
AI
Nov 5, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The workflow generates CHANGELOG_PR.md for the PR body but doesn't clean up this file after the PR is created. Consider adding a cleanup step or documenting whether this file should be committed or is temporary.
| git add CHANGELOG_PR.md | |
| # Do not add CHANGELOG_PR.md to the commit; it is only used for the PR body |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.
sighphyre
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Chaos. Love it. I'm here for it. Let's see if it works
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.
We've loved release-plz, but it doesn't work very well with multiple crates due to how cargo has rate limits on publishing and there are some crates in this we don't want to release.
This PR attempts to reproduce some of release-plz's functionality (check for changes since last tag, make PR with a new release, create tag on main if version has been bumped and there are no other changes)