-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Improve build and release system #5991
Conversation
Signed-off-by: Jakub Scholz <www@scholzj.com>
/azp run acceptance |
Azure Pipelines failed to run 1 pipeline(s). |
/azp run acceptance |
Azure Pipelines successfully started running 1 pipeline(s). |
664c539
to
9ba2795
Compare
Signed-off-by: Jakub Scholz <www@scholzj.com>
677220a
to
5a84beb
Compare
/azp run regression |
Azure Pipelines successfully started running 1 pipeline(s). |
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.
lgtm
artifactRunId: '' | ||
architectures: ['amd64', 'arm64'] | ||
- stage: manual_validation | ||
displayName: Validate container before pushing container as ${{ parameters.releaseVersion }} |
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.
I don't remember we have this manual validation in Drain Cleaner and canary for example. Why do we need it here? Is that anything that we should think of the other repo as well?
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.
We have it in Drain Cleaner and Bridge. IIRC you do not have CVE re-spin pipeline in Canary. So you probably don't have it. This is needed for testing. You use the pipeline to:
- Build the images with suffix - e.g. quay.io/strimzi/operator:0.27.0-2
- You test that the rebuild works -> for example with manual smoke test
- You approve the validation and the pipeline continues and pushes the images as quay.io/strimzi/operator:0.27.0 -> that way everyone will use them
Signed-off-by: Jakub Scholz <www@scholzj.com>
Type of change
Description
This PR improves the build and release process of the Strimzi operators. It follows the ideas discussed in the past during the community calls and similar pipeline setups for Drain Cleaner and Kafka Bridge. The main targets are:
To provide this, our build had to be refactored to make it easier to separate the binaries used to build the container images. They are now collected in one place (
./docker-images/artifacts
) and can be easily passed between pipelines. It also separates themake
targets for Java and container builds to be able to build these separately with the artifacts being the shared point between them. This change should have only a minimal impact on the users building Strimzi locally.The Azure pipelines were refactored. Apart form adding the new pipelines for release and CVE re-spins, I also refactored the different templates used by build and system test pipelines. The build pipeline has also been redesigned and consists from multiple jobs with different tasks:
This PR also adds support for ARM64 / AArch64 images (-> it is part of this PR instead of separate PR since it allows to properly test the multi-arch build capability).