-
Notifications
You must be signed in to change notification settings - Fork 881
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
Inconsistencies with version tags #3516
Comments
Currently we tag the exact commit that built the code as forced by the tooling. With the proposal, we would tag a commit after that which shouldn't have code changes so in practice is very similar. One corner case would be if a PR that updates code is merged between running release build and updating the examples, CHANGELOG. The only way I can think of to solve that is to update examples on main and CHANGELOG, change release flow to always create a release branch, always cherrypick the example / CHANGELOG update into the release branch, and tag the release branch, not main branch. I guess it could be considered ideal, but a lot of machinery |
Wait, what do I miss?
|
How can we merge this PR? Since 1.4.0 is unreleased, there's no way it could pass with a green build right? |
We don't actually need to build examples in |
Doesn't this mean the tagged commit will have examples pointing to a snapshot build? Since we don't have the published artifact yet until GHA kicks in. Even if examples on main build point at snapshots, it seems like one main goal of this issue is to have those examples pointing at the published artifact of the tag within the tagged commit. Code wise it's probably the same, but we do want the build gradles of examples to point to published versions somewhere I think, whether it's a release branch or main branch. |
Tagged commit will point to 1.4.0 in my example. Because "pre-release PR" sets it so. Yes, to yet unreleased version. Hm, indeed, this prevents from building examples on every PR :( My main wish still remains: tag should point to both changelog and examples which correspond to this tag. |
Yeah I think this is fair. So while the machinery is a bit annoying, I'd say the best option is the one that cherrypicks into an eagerly created release branch to make sure examples are still built properly. |
I don't understand how cherrypicking will achieve that. Tag is created before version is published. So examples with tagged version cannot be built until version is published. I understand that you proposal to "update examples on main and CHANGELOG" still means updating examples to point to the unreleased version? Or can you provide a list of exact steps? |
|
But then tag will point to a different commit that was used to build published artifacts. I think this is a bad thing. |
Oh, I assumed with this issue you were already OK with this :P Because we only cherrypick document / examples, is it that bad? Otherwise I can't think of a good way to have a release tag point to the code that published an artifact and examples that use that artifact, due to the chicken-egg problem. |
We just don't have to run examples before version is published :D If we find a good way for that - all is solved. |
What about this:
|
I don't think that this workflow will end up working with the nebula plugin. IIRC, the nebula plugin requires the tag for the most recent release to be in the history of the main branch to be picked up. This workflow wouldn't end up with the tag on the main branch's history, and therefore wouldn't get picked up for the proper "next" version during builds. |
Damn, this is a good point :( |
globbing on an item to this issue from https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/4106/files#r706966994
|
I think this is mostly resolved now via #4248 and using release branch for releases (#4709). Remaining items:
|
If you open
CHANGELOG
file tagged with version 1.3.0 then you see that it does NOT contain a section for 1.3.0 release. Also examples distro example uses javaagent version 1.2.0How about having repository tagged by a version tag in a state which is completely compatible with that version? Meaning having up-to-date documentation and changelog for that version and having all examples using that version. Yes, it means that releases require a separate PR, but we already have one. Only now we do it post-release, instead of pre-release.
The text was updated successfully, but these errors were encountered: