-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
[chore] Automate contrib release step 1 #38534
Merged
Merged
Conversation
This file contains 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
… 0.0.0 pseudo versions
…ck during the next release
@mowies Maybe you are interested in reviewing this one? |
mx-psi
approved these changes
Mar 13, 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.
This looks reasonable to me. Could you prepare a draft PR updating the docs/release.md
documentation to reflect any changes in the process?
Draft PR to update the release doc is here |
github-merge-queue bot
pushed a commit
to open-telemetry/opentelemetry-collector
that referenced
this pull request
Mar 14, 2025
) #### Description Once [contrib#38534](open-telemetry/opentelemetry-collector-contrib#38534) is merged, the manual changes that were necessary in step 1 of releasing contrib should now be included in step 2 (the Prepare Release CI workflow). This PR updates the release doc to remove step 1. #### Link to tracking issue Updates #12294
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.
Description
In the steps for releasing contrib, step 1 is manual, and step 2 is automated by the "Prepare release" CI workflow. This PR modifies said workflow to include (hopefully all of) the changes made in step 1 as well, removing the need for a manual step.
Substeps added to Prepare Release:
Step 1 includes the following sub-steps:
→ Updating dist.version in the builder config is already done as part of Prepare Release.
→ Updating the core collector module versions in the builder config is done as part of update-otel, which we run below.
→ Makes no changes to committed files, and is also currently the very first step of update-otel.
→ Added as the first step in Prepare Release.
→ This is the only concern: maintainers will not have the opportunity to fix update-otel errors in the middle of the CI process. But the current standard is to run update-otel and fix breaking changes before releasing core anyway.
Other changes to Prepare Release:
I removed the multimod-sync step, which I believe to be redundant with the more thorough sync step performed in update-otel. (I haven't checked exhaustively, but at least the latest release did not have a "make multimod-sync changes" commit, indicating that it made no changes.)
I also removed the final gotidy, which is redundant with the gotidy done at the end of the prerelease step.
The
internal/buildscripts/modules
file needs to be updated manually whenever the core module sets change. This is not written in the release doc, but was done during the previous release. I added a new Makefile command (make update-core-module-list
) to regenerate the file, which I now call in Prepare Release as well.Other changes:
Running
update-core-module-list
on the current main reorders the file a bit, but also adds some modules that were missing. I included those changes in this PR.xconfmap
was missing in the file, and for some reason wasn't updated during the latest update-otel run (#38490). Adding it to the module list file causes the check-collector-module-version check to fail, so I excluded it from the file for now. It should get added back during the next release process, which hopefully will update the pseudoversion properly as well.Completely unrelated to the subject of the PR, but I also removed the
for-generated-target
Makefile target I introduced in a previous PR, because I realized it... doesn't work, because otelcontribcol doesn't have a Makefile to run targets on anyway.I also added a
make -B install-tools
step to update-otel to make sure we use the latest version of mdatagen/ocb once multimod sync has updated internal/tools to the latest core. Hopefully that will prevent some heisenbugs in the future.Link to tracking issue
Fixes core#12294
Testing
I tested this by running the Prepare Release script locally, starting from 3bdd1ba on contrib, and 8ed28ec on core, after the 0.121.0 core release, but just before the contrib release. I then compared the final result with 76acaca, which is just after the contrib release (manual PR, automated PR).
The final diff only included a change to dist.version (in the previous release, it was changed from 0.120.1 to 0.121.1 instead of 0.121.0 by mistake), and the changes to
internal/buildscripts/modules
I mentioned above.If anyone wants to tests this manually, I used the following Makefile targets on a
test-release
branch:Documentation
To do after this PR: update the release doc