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
v2.1.0 not reachable from the main branch #226
Comments
This was briefly discussed in the DevOps call on Dec 2nd. One proposal is to have two tags
Consider LastCommit as the last commit before the release containing contributed code and vendor as the commit which checks-in the Go vendor directory: What was done:
Knowing that the tag is already there and removing or moving it (rewriting history) is bad, we can add a semver pre-release tag on the LastCommit.
Maybe in future we could consider adding the actual tag on the LastCommit and a new semver metadata tag on the commit that checks-in the vendor:
|
Just to add a little bit of historical context and why this issue was surprising to us when first discovered when building snaps for Jakarta. Note - while this issue is meant to be more generic and applies to a number of our git repos, the following comments really just apply to edgex-go. When the EdgeX project was launched, we adopted the LF's release process which required a mandatory branch to be created a few weeks before the final release, thus the early releases of EdgeX were tagged on a release branch. As Farshid points out, this includes the following non-patch releases:
Note - I'm not sure what happened with the Dehli release, as I couldn't find a As of the Geneva release, we changed our process and implemented a more commonly used practice of implementing a true "code freeze". This new process allowed us to simply tag the release on the master branch, which in turn meant we could create a release branch on-demand from the tag if/when the first patch release was approved by the TSC. So the next three releases (again excluding "patch" releases) all were tagged on master (which eventually became main):
So as you can see, we used one tagging scheme for the first four major/minor releases, switched to a more commonly used scheme for the next three releases (include Ireland), and then reverted back to the original scheme (due to our approach to vendoring) for Jakarta. |
The
v2.1.0
tag is not reachable from the main branches on projects with LTS. This is only relevant to Go projects.The reason is that the
v2.1.0
tag is associated to a commit that checks-in the thevendor
directory inside thejakarta
branch (e.g. edgexfoundry/edgex-go@b350bc7)To verify:
As a result, we faced few issues:
v2.2.0-dev.X
pre-release on main, the latest2.1.0
snap builds were being published using a2.0.1-dev.Y
version.v2.1.0
when setting depth to 1. This may be a problem with snapcraft on how it handles tag and depth. We fixed that by fetching the branch instead (edgexfoundry/edgex-go@f650799 - see lines 816-818).v2.1.0
from main without fetching the entire history (there are of course workarounds to fetch the branch, if the user is aware of the underlying situation). See below:The text was updated successfully, but these errors were encountered: