You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The changelog extraction logic was previously embedded directly in the release workflow. This made it difficult to test locally and debug issues without triggering the full CI pipeline, e.g. ops runtime requires going through the pull request review/feedback cycle that can be quite long making it hard to iterate/TIAS. Recently, noticed that changelog descriptionm wasn't properly included in the github release notes. Also, when changelog entries contained contributor mentions like @username, GitHub would tag the user, e.g. @deprecated which @<term> are now escaped.
How?
Extracts changelog parsing logic from the release workflow into a script
Adds @username mention escaping to prevent unintended GitHub notifications
Improves error handling with clear fallback messages when changelog content is unavailable
Preview?
⚠️ Tested in a separate playground environment due to pull request feedback/review loop which is too long for this type of work. While the playground environment tries to be as close as Click UI's repository, there might be differences and further iterations may be required to be addressed separately.
Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.
This PR includes no changesets
When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
Nice work! The refactor is clean and the @mention escaping is a smart catch. The previously flagged stdout/stderr bug has been addressed in commit df6900eb — all error paths in the script now correctly use >&2, so CHANGELOG is empty on failure and the workflow fallback kicks in as intended.
💡 Suggestion(non-blocking)
.scripts/bash/extract-changelog line 41–42: The grep -v '^## [0-9]' filter is dead code — the while loop already breaks on any ^## [0-9] line, so version headers can never appear in $CHANGELOG by the time this runs. Safe to remove.
All previously flagged issues have been resolved. The stderr fix from df6900eb is correct — error messages go to >&2, leaving stdout clean so CHANGELOG is empty on failure and the workflow fallback kicks in properly. The dead code (grep -v '^## [0-9]') was removed in 79bb73ba.
✅ Looks great! No issues found — nice work! The refactor is clean, the @mention escaping regex is correct, and the error handling flows as intended. Ready to merge.
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
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.
Why?
The changelog extraction logic was previously embedded directly in the release workflow. This made it difficult to test locally and debug issues without triggering the full CI pipeline, e.g. ops runtime requires going through the pull request review/feedback cycle that can be quite long making it hard to iterate/TIAS. Recently, noticed that changelog descriptionm wasn't properly included in the github release notes. Also, when changelog entries contained contributor mentions like
@username, GitHub would tag the user, e.g.@deprecatedwhich@<term>are now escaped.How?
@usernamemention escaping to prevent unintended GitHub notificationsPreview?
Expected flow
demo-gh-release-changelogs-output--enc.mp4
Expected output A
Expected output B