-
Notifications
You must be signed in to change notification settings - Fork 24
Improve bundle versioning using VERSION file #440
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
Conversation
Move version information into a standalone VERSION file to provide a clear, central source of truth for the project version and future runtime consumers (e.g. CLI programs that may support a --version flag). There's nothing inherently wrong with the previous approach of hard-coding VERSION in the Makefile. The real issue is that we had no process for bumping the version immediately after a release tag was cut. As a result, subsequent development continued to build and push bundle and catalog images using the same version tag. For example, once we had tagged 0.5.6, any further updates to the bundle--such as updated manifests--were still pushed to `bpfman-operator-bundle:v0.5.6`. This isn't expected behaviour and violates the assumption that tagged images are stable and immutable. Signed-off-by: Andrew McDermott <amcdermo@redhat.com>
|
/hold |
|
/hold cancel |
dave-tucker
left a comment
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.
@frobware changes LGTM.
However, you should also update the documentation over at https://github.com/bpfman/bpfman/blob/main/RELEASE.md
There's also an argument to be made for potentially splitting that doc into two since we've moved the operator into it's own repository.
We may as well follow the same versioning scheme for bpfman too to avoid drift (i.e bpfman 0.5.6 and bpfman-operator 0.5.7-dev)
…s/component-update-ocp-bpfman-operator chore(deps): update ocp-bpfman-operator to 833b7bf
Introduce OPENSHIFT-VERSION file containing BUILDVERSION=0.5.6 for downstream OpenShift container builds, following the pattern used by network-observability-operator. This decouples downstream versioning from the upstream VERSION file, which represents the next development version per upstream convention (see bpfman#440). When merging from upstream, the VERSION file will contain their next development version (e.g., 0.5.8-dev), whilst OPENSHIFT-VERSION maintains the downstream release version (e.g., 0.5.6) independently. Changes: - Add OPENSHIFT-VERSION file as source of truth for downstream builds - Update all OpenShift Containerfiles to use BUILDVERSION build argument - Configure Tekton pipelines to pass build-args-file parameter - Update local Makefile to use --build-arg-file for testing - Remove obsolete sync-version.sh script - Update documentation to reflect new versioning approach The build system can now override the version at build time via --build-arg BUILDVERSION=<value>, whilst defaulting to the value in OPENSHIFT-VERSION when using --build-arg-file.
Introduce OPENSHIFT-VERSION file containing BUILDVERSION=0.5.6 for downstream OpenShift container builds, following the pattern used by network-observability-operator. This decouples downstream versioning from the upstream VERSION file, which represents the next development version per upstream convention (see bpfman#440). When merging from upstream, the VERSION file will contain their next development version (e.g., 0.5.8-dev), whilst OPENSHIFT-VERSION maintains the downstream release version (e.g., 0.5.6) independently. Changes: - Add OPENSHIFT-VERSION file as source of truth for downstream builds - Update all OpenShift Containerfiles to use BUILDVERSION build argument - Configure Tekton pipelines to pass build-args-file parameter - Update local Makefile to use --build-arg-file for testing - Remove obsolete sync-version.sh script - Update documentation to reflect new versioning approach The build system can now override the version at build time via --build-arg BUILDVERSION=<value>, whilst defaulting to the value in OPENSHIFT-VERSION when using --build-arg-file.
Move version information into a standalone VERSION file to provide a clear, central source of truth for the project version and future runtime consumers (e.g. CLI programs that may support a --version flag).
There's nothing inherently wrong with the previous approach of hard-coding VERSION in the Makefile. The real issue is that we had no process for bumping the version immediately after a release tag was cut. As a result, subsequent development continued to build and push bundle and catalog images using the same version tag.
For example, once we had tagged 0.5.6, any further updates to the bundle--such as updated manifests--were still pushed to
bpfman-operator-bundle:v0.5.6. This isn't expected behaviour and violates the assumption that tagged images are stable and immutable.The new process for bumping to the next development release:
Prepare a release:
Begin the next development cycle: