-
Couldn't load subscription status.
- Fork 22
[CLOUDP-352579] Add evergreen function to promote and release kubectl plugin #325
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
8c147ec to
8404bc1
Compare
1d73740 to
0d1a212
Compare
41ee982 to
ea3504f
Compare
c904a87 to
0cda14e
Compare
489c3bd to
7ad3654
Compare
65529a5 to
135ffdb
Compare
…to build kubectl mongodb binary
…to build kubectl mongodb binary
135ffdb to
3fc912b
Compare
MCK 1.6.0 Release NotesNew Features
Bug Fixes
|
scripts/release/kubectl_mongodb/python/promote_kubectl_plugin.py
Outdated
Show resolved
Hide resolved
scripts/release/kubectl_mongodb/python/promote_kubectl_plugin.py
Outdated
Show resolved
Hide resolved
| def s3_artifacts_path_to_local_path(release_version: str, commit_sha: str): | ||
| s3_common_path = f"{S3_BUCKET_KUBECTL_PLUGIN_SUBPATH}/{commit_sha}/dist" | ||
| return { | ||
| f"{s3_common_path}/kubectl-mongodb_darwin_amd64_v1/": f"kubectl-mongodb_{release_version}_darwin_amd64", |
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.
instead of hardcoding the platforms to download from staging use platforms in build_info
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 decided that we are going to work on this, after we stop building plugin binary using goreleaser.
Summary
As part of the efforts of atomic releases we would like to build the binary in dev/staging workflows and then would like to promote those binaries while releasing the product.
The build/push of kubectl plugin binary to dev/staging workflow has been complete successfully as part of the PR, but the promotion was still pending. This PR makes sure that the plugin that is uploaded to the staging bucket, is promoted to the release at the time of MCK release.
Proof of Work
Build the binary in staging workflow so that we can test the promotion process. The provided operator version is respective commit for the MCK tag
1.4.0Job was successful and the artifacts were uploaded to the staging bucket
aws s3 ls s3://mongodb-kubernetes-staging/kubectl-mongodb/78538991c/dist/ PRE kubectl-mongodb_darwin_amd64_v1/ PRE kubectl-mongodb_darwin_arm64/ PRE kubectl-mongodb_linux_amd64_v1/ PRE kubectl-mongodb_linux_arm64/ PRE kubectl-mongodb_linux_ppc64le/ PRE kubectl-mongodb_linux_s390x/test release of kubectl plugin
Running this command is not required while release, it will automatically be run when we create and push tag in github. To test this we just updated the repo and the github token so that the assets can be uploaded to my personal repo.
The job would figure out the commit for the version
1.4.0and then would copy the artifacts from staging from that version.Job was completed successfully and we can see the artifacts in the release bucket
and the assets were uploaded to github release
Checklist
skip-changeloglabel if not needed