-
Notifications
You must be signed in to change notification settings - Fork 665
feat: Add upstream release notes links to chart releases : #1594 #1771
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?
feat: Add upstream release notes links to chart releases : #1594 #1771
Conversation
Hi @TylerHelmuth , Thanks for all the feedback! I've addressed all the comments locally:
All changes are ready in my local repository and I'll be pushing them very soon. The PR will be much cleaner and focused only on the functional changes needed for the enhancement. |
Hi @TylerHelmuth , Could you please check now? I have synced all my changes. |
@itsvshreyas can you test this implementation in a fork so we can see the release action run? You may need to update some CI to be based on your fork instead of the |
Hi @TylerHelmuth , These new changes are for my testing. I will be forking that and will share the release notes getting updated in a while. Once tested will remove test-release.yaml file. Thanks! |
Hi @TylerHelmuth , I bumped the version and release notes got created via Actions in my personal forked repo. Is this fine? |
Hi @TylerHelmuth , Could you please let me know the links shared above are fine? If yes, then I will prune those additional changes which were made for testing purpose and then this should be good for final review. |
@itsvshreyas thanks for testing, those release notes look good. You can remove the testing changes. |
Hi @TylerHelmuth , Removed the test file. This should be good for your review now. Thanks! |
.github/workflows/release.yaml
Outdated
chmod +x .github/scripts/generate-release-notes.sh | ||
chmod +x .github/scripts/enhance-release-notes.sh |
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.
I see 2 scripts but only 1 being invoked
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.
enhance-release-notes.sh calls generate-release-notes.sh at line number 15 of enhance-release-notes.sh. So both scripts are required. I will remove these two lines as they already have chmod +x permissions.
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.
@TylerHelmuth , Removed chmod +x. That is in place now.
.github/workflows/release.yaml
Outdated
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}" | ||
CR_GENERATE_RELEASE_NOTES: true | ||
|
||
- name: Enhance release notes with upstream links |
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.
In our repo every commit to main results in a chart release. Most of these commits are not appVersion bumps to match the upstream release artifacts. For releases that are not related to an upstream release, what will this change do?
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.
Current Behavior for Non-Upstream Releases:
For commits that don't involve appVersion
bumps (e.g., documentation updates, chart configuration changes, dependency updates), our enhancement script will:
- Still run and detect the new chart release
- Generate release notes that reference the current (unchanged)
appVersion
- Add upstream links pointing to the existing upstream version
Example Scenario:
# Chart changes from:
Chart.yaml: version: 0.47.1 → 0.47.2 (documentation fix)
Chart.yaml: appVersion: "0.119.0" (unchanged)
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.
IDK if always linking to the upstream changelogs is useful. @open-telemetry/helm-approvers what do you think?
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.
Please let me know how it has to be done. I can make appropriate changes for the same. Maybe if others have any other opinion?
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.
I think this is useful especially as it was requested by another user
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.
I think the linking is useful once the application image is bumped. Otherwise, I'd suggest just skipping this step, if there is no image upgrade.
Also, please move this step to the end of the job so it it fails it doesn't disrupt the release
Hi @TylerHelmuth , Suggested changes are in place. |
Hi @open-telemetry/helm-approvers, could you please look into our conversation and let us know if we are good with this approach or do we need any alternate solution? Thanks! |
This PR was marked stale due to lack of activity. It will be closed in 14 days. |
Hi @open-telemetry/helm-approvers, could you please look into our conversation and let us know if we are good with this approach or do we need any alternate solution? Thanks! |
Hi @TylerHelmuth , This PR has gone for stale. I don't see any reviews happening. Do you want me to go with the change? Also is it possible to remove the stale? |
Hi @TylerHelmuth , This PR has gone for stale. I don't see any reviews happening. Do you want me to go with the change? Also is it possible to remove the stale? |
--- | ||
$enhanced_notes" | ||
else |
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.
This should not be the case. If no existing notes found, something is wrong. Probably better to fail instead
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.
Hi @dmitryax , Corrected this.
"opentelemetry-collector") | ||
echo "## Upstream Release Notes" | ||
echo "" | ||
echo "For detailed information about the changes in this release, please refer to the upstream OpenTelemetry project release notes:" |
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.
These lines are duplicated for every option, so they can be moved out of the case
statement. Also, the wording seems too verbose without providing much value
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.
Hi @dmitryax , Corrected this.
# Add links to upstream release notes based on chart type | ||
case "$chart_name" in | ||
"opentelemetry-collector") | ||
echo "## Upstream Release Notes" |
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.
Upstream sounds a bit confusing... What about?
OpenTelemetry Collector v${app_version} release notes
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.
Hi @dmitryax , Corrected this.
.github/workflows/release.yaml
Outdated
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}" | ||
CR_GENERATE_RELEASE_NOTES: true | ||
|
||
- name: Enhance release notes with upstream links |
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.
I think the linking is useful once the application image is bumped. Otherwise, I'd suggest just skipping this step, if there is no image upgrade.
Also, please move this step to the end of the job so it it fails it doesn't disrupt the release
… to end - Add logic to detect appVersion changes and only enhance when components are upgraded - Move enhancement step to end of workflow to prevent disrupting releases if it fails - Update section header from 'Upstream' to 'OpenTelemetry Release Notes' for clarity - Remove code duplication and verbose text in release notes generation - Add CR_GENERATE_RELEASE_NOTES environment variable back to workflow - Fix trailing whitespace issues Addresses reviewer feedback and ensures enhancement only runs when meaningful to users. Signed-off-by: Venkata Shreyas Kabekkodu <venkatashreyas.kabekkodu@fmr.com>
- Add chart-releaser configuration with automatic release notes generation - Restore missing config parameter in release workflow - Ensure chart-releaser can properly generate baseline release notes Required for the release notes enhancement feature to work correctly. Signed-off-by: Venkata Shreyas Kabekkodu <venkatashreyas.kabekkodu@fmr.com>
Hi @dmitryax , I making all those changes. |
136ecf0
to
a7ef418
Compare
Hi @dmitryax , Could you please verify the PR now? I have made all those changes. |
Summary
This PR addresses issue #1594 by automatically adding links to relevant upstream OpenTelemetry project release notes when chart versions are bumped. This enhancement eliminates the need for users to manually search for upstream release notes when planning upgrades.
Changes Made
.github/workflows/release.yaml
: Added automated step to enhance release notes with upstream project links.github/scripts/generate-release-notes.sh
: New script that generates enhanced release notes with appropriate upstream links based on chart type.github/cr.yaml
: Configuration file for chart-releaser with enhanced settingsHow it Works
Chart Support
The enhancement intelligently handles different chart types:
Example Enhancement
For an
opentelemetry-collector
v0.127.1 release with app version 0.128.0, users will now see: