Repository navigation
ci: tag the api module with every release - #270
Merged
Merged
Conversation
api/ is a separate Go module (openshift#257), and Go finds its versions by tags with an api/ prefix. Nothing created those tags, so other projects such as knative/func could only pin a commit of it. The release workflow now tags api/vX.Y.Z on the commit it released, as its last step. It runs for every release path: the release branch cut, the weekly patch releases and tags pushed by hand. Being last, a failed build leaves no api tag behind. The api module is tagged even when api/ did not change. One version number then names both the operator and the CRD types that match it; prometheus-operator, Flux and cluster-api tag their api modules the same way. The step skips commits without api/go.mod (release branches before release-0.4) and tags that already exist, so a re-run is safe.
maschmid
enabled auto-merge (squash)
October 20, 2026 08:19
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
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.
api/ is a separate Go module (#257), and Go finds its versions by tags with an api/ prefix. Nothing created those tags, so other projects such as knative/func could only pin a commit of it.
The release workflow now tags api/vX.Y.Z on the commit it released, as its last step. It runs for every release path: the release branch cut, the weekly patch releases and tags pushed by hand. Being last, a failed build leaves no api tag behind.
The api module is tagged even when api/ did not change. One version number then names both the operator and the CRD types that match it; prometheus-operator, Flux and cluster-api tag their api modules the same way.
The step skips commits without api/go.mod (release branches before release-0.4) and tags that already exist, so a re-run is safe.