-
Notifications
You must be signed in to change notification settings - Fork 30
CLOUDP-305848 & CLOUDP-338152 - release on master merges axuillary images #626
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
base: master
Are you sure you want to change the base?
Conversation
MCK 1.6.1 Release NotesBug Fixes
|
.evergreen.yml
Outdated
| display_name: publish_om60_images | ||
| tags: [ "manual_patch" ] | ||
| allowed_requesters: [ "patch", "github_pr" ] | ||
| allowed_requesters: [ "patch", "commit" ] |
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.
removed github_pr since no need to release them anymore via pct in a PR
| logger.info("building current used agents") | ||
| logger.info("building currently used agents") | ||
| else: | ||
| agent_versions_to_build = detect_ops_manager_changes() |
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.
no need to detect for changes, since we release every commit now
| ) | ||
|
|
||
|
|
||
| class TestDetectOpsManagerChanges(unittest.TestCase): |
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.
file is mostly a rename from scripts/release/tests/test_detect_ops_manager_changes.py and removing most of the tests and adding the last one
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 decided to not keep om6 publishing code
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.
all of this will now be run by merging to master from "release_on_merge.py"
.evergreen.yml
Outdated
| - name: publish_ops_manager | ||
| - name: release_agent | ||
|
|
||
| - name: publish_om70_images |
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.
in theory - we should be able to delete this one, but we can keep it for now, but then it also means removal of release_agent
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 think we should keep publish_omXX_images variants. Instead we should just document how can we trigger build for particular OM and agent image. I mean some kind of generic evergreen variant that allows you to manually build any image possible and push it to chosen repo. This can be done though in separate PR, but please mention that those variants are not going to be used.
Also is PCT is going to try to add those variants still or you have removed that logic already? Would PCT fail if the relevant variants are missing?
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.
removed, will remove related PCT code and then make a new PR to support singular releases.
…ngodb-kubernetes into agent-release-on-master-merge
MaciejKaras
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.
LGTM!
| " --version current (for currently used agents)\n" | ||
| " --version <ver> --agent-tools-version <tools_ver> (for specific agent)" | ||
| ) | ||
| is_special_version = version in ("all", "current") |
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.
nit: should we have const for all and current, it looks like we are using them at a lot of places.
| """ | ||
| Extract OM versions from .evergreen.yml anchors using YAML parsing and semver. | ||
| Returns: {"6.0.27", "7.0.19", "8.0.16"} |
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 didn't know we had this information already in .evergree.yaml, we recently added similar information in our release.json. https://github.com/mongodb/mongodb-kubernetes/blob/master/release.json#L19
Summary
Pipeline and Release Process Improvements:
Replaces the
release_agenttask/variant with a newrelease_on_mergetask/variant that runs automatically on every merge, detecting changes torelease.jsonand releasing images based on evg anchors. Manual/manual-patch-only variants for agent and OM 6.0 images are removed.Updates the agent image build logic to use an explicit
agent_versionparameter (all,current, or a specific version), removing the previous use of--all-agentsand--current-agentsflags. Tools version is now required for specific agent builds.flowchart TD A[Merge to master] --> B[release_on_merge task] B --> C[Load config<br/>release.json + .evergreen.yml] C --> D[Release via pipeline.py cloud_manager agent] C --> E{For each OM version<br/>6.0, 7.0, 8.0} E --> F[Release via pipeline.py ops-manager image] E --> G[Release via pipeline.py matching agent] D & F & G --> H[atomic_pipeline.py skip_if_exists handles duplicates]related pct pr: https://github.com/10gen/mms/pull/149833
Proof of Work
Checklist
skip-changeloglabel if not needed