-
Notifications
You must be signed in to change notification settings - Fork 22
[CLOUDP-338093] Use goreleaser to build kubectl-mongodb plugin for dev/staging workflows
#320
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
MCK 1.6.0 Release NotesNew Features
Bug Fixes
|
8fa4b79 to
8c147ec
Compare
goreleaser to build kubectl-mongodb plugin for dev/staging workflows
8c147ec to
8404bc1
Compare
41ee982 to
ea3504f
Compare
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.
It's LGTM generally, but I've left one blocking 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.
LGTM!
…to build kubectl mongodb binary
489c3bd to
7ad3654
Compare
|
Hi @MaciejKaras, |
Summary
Per current implementation when we release the binary we build it via goreleaser but in our dev and staging workflows we used
scripts/evergreen/build_multi_cluster_kubeconfig_creator.sh(which eventually rungo build) to build the binary. We needed to change this to make sure that we are using the same mechanism to build the binary in dev/staging workflows that we use while releasing. In order to achieve that, this PR adds functionality to build thekubectl-mongodbplugin using goreleaser in dev/staging workflows.As part of the new workflow,
build_multi_cluster_binaryevergreen function has been changed to rungoreleaser buildand upload the artifacts to a S3 location. After that the linux/amd64 distribution of the binary is downloaded locally at the path where tests image expects it.Having the binary in the S3 bucket would eventually help us to just promote the binaries while the release process but we are not able to achieve that for now, because for dev/staging workflows we are not able to notarize the generated binaries.
After this PR, potentially we can even consider just getting rid of the script
scripts/evergreen/build_multi_cluster_kubeconfig_creator.sh.Proof of Work
Run the local patch using
and make sure that test image is built successfully and the goreleaser artifacts are uploaded to the S3 bucket (
mongodb-kubernetes-dev) correctly.CI passing on this PR also proves that the binary is successfully built and copied to the test image.
Checklist
skip-changeloglabel if not needed