You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CLOUDP-295785 - staging support for image building (#336)
# Summary
PR integrates `staging` build scenario with `atomic_pipeline.py` and the
e2e tests. `staging` repositories are created in AWS ECR under
`/staging` dir. List of new `staging/` repositories:
<img width="2239" height="756" alt="Screenshot 2025-08-13 at 14 39 55"
src="https://github.com/user-attachments/assets/a23a500f-d0bd-4f39-9a74-72a2ca3ad6f6"
/>
Example AWS page with details:
<img width="1654" height="994" alt="Screenshot 2025-08-11 at 21 26 51"
src="https://github.com/user-attachments/assets/4e059aeb-fac3-4208-8cd0-a00692f7d673"
/>
Previously all of the evergreen patch builds were targeting
`268558157000.dkr.ecr.us-east-1.amazonaws.com/dev` repository. Now,
depending on the `BUILD_SCENARIO` environment variable images will be
pushed to and pulled from
different registry:
- PATCH_REGISTRY="268558157000.dkr.ecr.us-east-1.amazonaws.com/dev"
-
STAGING_REGISTRY="268558157000.dkr.ecr.us-east-1.amazonaws.com/staging"
- RELEASE_REGISTRY="quay.io/mongodb"
Additional changes:
- re-added missing `latest` tag for staging builds. This is used for
local testing
- moved all registry variables declarations to `root-context`.
Previously they were duplicated in both
`scripts/dev/contexts/evg-private-context` and
`scripts/dev/contexts/local-defaults-context`
- fixes multi arch smoke tests configuration. We can now run them also
for released images (tbd)
- started to use `OPERATOR_VERSION` instead of `VERSION_ID`.
`VERSION_ID` was only related to patch builds, which did not apply for
staging and release builds
- BASE_REPO_URL_SHARED is now
`268558157000.dkr.ecr.us-east-1.amazonaws.com/staging` because all
latest tags are pushed on master builds
- `build_scenario` now needs to be passed explicitly to `pipeline.py` as
well as `version` (apart from `agent` image)
## Proof of Work
Building all images is passing for staging scenario ->
https://spruce.mongodb.com/version/68c7ce53672666000716401a/tasks?page=0&sorts=STATUS%3AASC%3BBASE_STATUS%3ADESC
Building all images is passing for release scenario (apart from kubectl
which requires tag) ->
https://spruce.mongodb.com/version/68c911ef8d38f100074fa2db/tasks?sorts=STATUS%3AASC%3BBASE_STATUS%3ADESC
Example image stored together with signature ->
https://us-east-1.console.aws.amazon.com/ecr/repositories/private/268558157000/staging/mongodb-kubernetes-init-database?region=us-east-1
## Remaining work
- [ ] Add guide on how to run `development` scenario for building the
images using evergreen and directly `pipeline.py`
- [ ] Fix `dummy` version in the `release_info.json` - this is already
planned in
[here](https://docs.google.com/document/d/1eJ8iKsI0libbpcJakGjxcPfbrTn8lmcZDbQH1UqMR_g/edit?tab=t.p76ry15gwmkk#bookmark=id.egtg1p95d1)
## Checklist
- [ ] Have you linked a jira ticket and/or is the ticket in the title?
- [ ] Have you checked whether your jira ticket required DOCSP changes?
- [ ] Have you added changelog file?
- use `skip-changelog` label if not needed
- refer to [Changelog files and Release
Notes](https://github.com/mongodb/mongodb-kubernetes/blob/master/CONTRIBUTING.md#changelog-files-and-release-notes)
section in CONTRIBUTING.md for more details
0 commit comments