diff --git a/build_info.json b/build_info.json index 286667428..c3394e919 100644 --- a/build_info.json +++ b/build_info.json @@ -12,7 +12,6 @@ "sign": true, "repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-kubernetes", "platforms": [ - "linux/arm64", "linux/amd64" ] }, @@ -20,7 +19,6 @@ "sign": true, "repository": "quay.io/mongodb/mongodb-kubernetes", "platforms": [ - "linux/arm64", "linux/amd64" ] } @@ -37,7 +35,6 @@ "sign": true, "repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-kubernetes", "platforms": [ - "linux/arm64", "linux/amd64" ] } @@ -52,9 +49,9 @@ }, "staging": { "sign": true, + "latest-tag": true, "repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-kubernetes-init-database", "platforms": [ - "linux/arm64", "linux/amd64" ] }, @@ -62,7 +59,6 @@ "sign": true, "repository": "quay.io/mongodb/mongodb-kubernetes-init-database", "platforms": [ - "linux/arm64", "linux/amd64" ] } @@ -77,9 +73,9 @@ }, "staging": { "sign": true, + "latest-tag": true, "repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-kubernetes-init-appdb", "platforms": [ - "linux/arm64", "linux/amd64" ] }, @@ -87,7 +83,6 @@ "sign": true, "repository": "quay.io/mongodb/mongodb-kubernetes-init-appdb", "platforms": [ - "linux/arm64", "linux/amd64" ] } @@ -102,9 +97,9 @@ }, "staging": { "sign": true, + "latest-tag": true, "repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-kubernetes-init-ops-manager", "platforms": [ - "linux/arm64", "linux/amd64" ] }, @@ -112,7 +107,6 @@ "sign": true, "repository": "quay.io/mongodb/mongodb-kubernetes-init-ops-manager", "platforms": [ - "linux/arm64", "linux/amd64" ] } @@ -127,9 +121,9 @@ }, "staging": { "sign": true, + "latest-tag": true, "repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-kubernetes-database", "platforms": [ - "linux/arm64", "linux/amd64" ] }, @@ -137,7 +131,6 @@ "sign": true, "repository": "quay.io/mongodb/mongodb-kubernetes-database", "platforms": [ - "linux/arm64", "linux/amd64" ] } @@ -182,9 +175,9 @@ }, "staging": { "sign": true, + "latest-tag": true, "repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-kubernetes-readinessprobe", "platforms": [ - "linux/arm64", "linux/amd64" ] }, @@ -193,7 +186,6 @@ "sign": true, "repository": "quay.io/mongodb/mongodb-kubernetes-readinessprobe", "platforms": [ - "linux/arm64", "linux/amd64" ] } @@ -208,9 +200,9 @@ }, "staging": { "sign": true, + "latest-tag": true, "repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-kubernetes-operator-version-upgrade-post-start-hook", "platforms": [ - "linux/arm64", "linux/amd64" ] }, @@ -219,7 +211,6 @@ "sign": true, "repository": "quay.io/mongodb/mongodb-kubernetes-operator-version-upgrade-post-start-hook", "platforms": [ - "linux/arm64", "linux/amd64" ] } @@ -236,7 +227,6 @@ "sign": true, "repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-agent-ubi", "platforms": [ - "linux/arm64", "linux/amd64" ] }, @@ -244,7 +234,6 @@ "sign": true, "repository": "quay.io/mongodb/mongodb-agent-ubi", "platforms": [ - "linux/arm64", "linux/amd64" ] } @@ -253,7 +242,7 @@ "dockerfile-path": "docker/mongodb-enterprise-ops-manager/Dockerfile.atomic", "patch": { "version": "om-version-from-release.json", - "repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-enterprise-ops-manager", + "repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-enterprise-ops-manager-ubi", "platforms": [ "linux/amd64" ] @@ -261,7 +250,7 @@ "staging": { "version": "om-version-from-release.json", "sign": true, - "repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-enterprise-ops-manager", + "repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-enterprise-ops-manager-ubi", "platforms": [ "linux/amd64" ] @@ -269,7 +258,7 @@ "release": { "version": "om-version-from-release.json", "sign": true, - "repository": "quay.io/mongodb/mongodb-enterprise-ops-manager", + "repository": "quay.io/mongodb/mongodb-enterprise-ops-manager-ubi", "platforms": [ "linux/amd64" ] diff --git a/scripts/dev/contexts/e2e_mdb_kind_ubi_cloudqa b/scripts/dev/contexts/e2e_mdb_kind_ubi_cloudqa index 03384c26c..b9041b3ca 100644 --- a/scripts/dev/contexts/e2e_mdb_kind_ubi_cloudqa +++ b/scripts/dev/contexts/e2e_mdb_kind_ubi_cloudqa @@ -10,7 +10,7 @@ source "${script_dir}/root-context" export ops_manager_version="cloud_qa" # This is required to be able to rebuild the om image and use that image which has been rebuild -export OPS_MANAGER_REGISTRY=268558157000.dkr.ecr.us-east-1.amazonaws.com/dev +export OPS_MANAGER_REGISTRY="${BASE_REPO_URL}" CUSTOM_OM_VERSION=$(grep -E "^\s*-\s*&ops_manager_70_latest\s+(\S+)\s+#" <"${script_dir}"/../../../.evergreen.yml | awk '{print $3}') export CUSTOM_OM_VERSION diff --git a/scripts/dev/contexts/e2e_static_mdb_kind_ubi_cloudqa b/scripts/dev/contexts/e2e_static_mdb_kind_ubi_cloudqa index 869396d1e..8a2f4e555 100644 --- a/scripts/dev/contexts/e2e_static_mdb_kind_ubi_cloudqa +++ b/scripts/dev/contexts/e2e_static_mdb_kind_ubi_cloudqa @@ -11,7 +11,7 @@ export ops_manager_version="cloud_qa" export MDB_DEFAULT_ARCHITECTURE=static # This is required to be able to rebuild the om image and use that image which has been rebuild -export OPS_MANAGER_REGISTRY=268558157000.dkr.ecr.us-east-1.amazonaws.com/dev +export OPS_MANAGER_REGISTRY="${BASE_REPO_URL}" CUSTOM_OM_VERSION=$(grep -E "^\s*-\s*&ops_manager_70_latest\s+(\S+)\s+#" <"${script_dir}"/../../../.evergreen.yml | awk '{print $3}') export CUSTOM_OM_VERSION diff --git a/scripts/dev/contexts/evg-private-context b/scripts/dev/contexts/evg-private-context index 8f25842e8..15f54f035 100644 --- a/scripts/dev/contexts/evg-private-context +++ b/scripts/dev/contexts/evg-private-context @@ -33,7 +33,18 @@ else fi export NAMESPACE -export BASE_REPO_URL="268558157000.dkr.ecr.us-east-1.amazonaws.com/dev" +DEV_REPO_URL="268558157000.dkr.ecr.us-east-1.amazonaws.com/dev" +STAGING_REPO_URL="268558157000.dkr.ecr.us-east-1.amazonaws.com/staging" +COMMIT_SHA_SHORT=$(git rev-parse --short=8 HEAD) + +if [ "${is_patch:-false}" = "true" ]; then + echo "is_patch is set, setting BASE_REPO_URL=${DEV_REPO_URL}" + export BASE_REPO_URL="${DEV_REPO_URL}" +else + echo "is_patch is not set, setting BASE_REPO_URL=${STAGING_REPO_URL}, OVERRIDE_VERSION_ID=${COMMIT_SHA_SHORT}" + export BASE_REPO_URL="${STAGING_REPO_URL}" + export OVERRIDE_VERSION_ID="${COMMIT_SHA_SHORT}" +fi export REGISTRY="${BASE_REPO_URL}" export QUAY_REGISTRY=quay.io/mongodb @@ -107,8 +118,8 @@ export CODE_SNIPPETS_COMMIT_OUTPUT=${code_snippets_commit_output:-"false"} # MCO # shellcheck disable=SC2154 -export READINESS_PROBE_IMAGE="268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes-readinessprobe:${version_id}" -export VERSION_UPGRADE_HOOK_IMAGE="268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes-operator-version-upgrade-post-start-hook:${version_id}" +export READINESS_PROBE_IMAGE="${REGISTRY}/mongodb-kubernetes-readinessprobe:${version_id}" +export VERSION_UPGRADE_HOOK_IMAGE="${REGISTRY}/mongodb-kubernetes-operator-version-upgrade-post-start-hook:${version_id}" # TODO to be removed at public preview stage of community-search export COMMUNITY_PRIVATE_PREVIEW_PULLSECRET_DOCKERCONFIGJSON="${community_private_preview_pullsecret_dockerconfigjson}" diff --git a/scripts/dev/contexts/local-defaults-context b/scripts/dev/contexts/local-defaults-context index 36d652d55..5fe8b12bc 100644 --- a/scripts/dev/contexts/local-defaults-context +++ b/scripts/dev/contexts/local-defaults-context @@ -41,7 +41,7 @@ export MONGODB_ENTERPRISE_DATABASE_IMAGE="${INIT_IMAGES_REGISTRY}/mongodb-kubern export MDB_AGENT_IMAGE_OPERATOR_VERSION=latest export MDB_AGENT_IMAGE_REPOSITORY="${BASE_REPO_URL_SHARED}/mongodb-agent-ubi" export AGENT_BASE_REGISTRY=${BASE_REPO_URL_SHARED} -export AGENT_IMAGE="268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-agent-ubi:12.0.30.7791-1" +export AGENT_IMAGE="${AGENT_BASE_REGISTRY}/mongodb-agent-ubi:12.0.30.7791-1" # these are needed to deploy OM export INIT_APPDB_IMAGE_REPOSITORY="${INIT_IMAGES_REGISTRY}/mongodb-kubernetes-init-appdb" diff --git a/scripts/dev/contexts/variables/om60 b/scripts/dev/contexts/variables/om60 index be1544ee4..f3e072805 100644 --- a/scripts/dev/contexts/variables/om60 +++ b/scripts/dev/contexts/variables/om60 @@ -13,10 +13,10 @@ export CUSTOM_OM_VERSION export CUSTOM_MDB_VERSION=6.0.21 export CUSTOM_MDB_PREV_VERSION=5.0.7 -export AGENT_VERSION=12.0.33.7866-1 +export AGENT_VERSION=12.0.34.7888-1 export AGENT_IMAGE="${MDB_AGENT_IMAGE_REPOSITORY}:${AGENT_VERSION}" export CUSTOM_APPDB_VERSION=6.0.21-ent export TEST_MODE=opsmanager -export OPS_MANAGER_REGISTRY=268558157000.dkr.ecr.us-east-1.amazonaws.com/dev -export APPDB_REGISTRY=268558157000.dkr.ecr.us-east-1.amazonaws.com/dev +export OPS_MANAGER_REGISTRY="${BASE_REPO_URL}" +export APPDB_REGISTRY="${BASE_REPO_URL}" diff --git a/scripts/dev/contexts/variables/om70 b/scripts/dev/contexts/variables/om70 index a18290e91..b8400574c 100644 --- a/scripts/dev/contexts/variables/om70 +++ b/scripts/dev/contexts/variables/om70 @@ -18,5 +18,5 @@ export AGENT_IMAGE="${MDB_AGENT_IMAGE_REPOSITORY}:${AGENT_VERSION}" export CUSTOM_APPDB_VERSION=7.0.18-ent export TEST_MODE=opsmanager -export OPS_MANAGER_REGISTRY=268558157000.dkr.ecr.us-east-1.amazonaws.com/dev -export APPDB_REGISTRY=268558157000.dkr.ecr.us-east-1.amazonaws.com/dev +export OPS_MANAGER_REGISTRY="${BASE_REPO_URL}" +export APPDB_REGISTRY="${BASE_REPO_URL}" diff --git a/scripts/dev/contexts/variables/om80 b/scripts/dev/contexts/variables/om80 index 200c9b690..4d84cb943 100644 --- a/scripts/dev/contexts/variables/om80 +++ b/scripts/dev/contexts/variables/om80 @@ -18,5 +18,5 @@ export AGENT_IMAGE="${MDB_AGENT_IMAGE_REPOSITORY}:${AGENT_VERSION}" export CUSTOM_APPDB_VERSION=8.0.6-ent export TEST_MODE=opsmanager -export OPS_MANAGER_REGISTRY=268558157000.dkr.ecr.us-east-1.amazonaws.com/dev -export APPDB_REGISTRY=268558157000.dkr.ecr.us-east-1.amazonaws.com/dev +export OPS_MANAGER_REGISTRY="${BASE_REPO_URL}" +export APPDB_REGISTRY="${BASE_REPO_URL}" diff --git a/scripts/release/atomic_pipeline.py b/scripts/release/atomic_pipeline.py index b24143dad..846e43ad9 100755 --- a/scripts/release/atomic_pipeline.py +++ b/scripts/release/atomic_pipeline.py @@ -49,14 +49,12 @@ def build_image( span.set_attribute("mck.platforms", build_configuration.platforms) # Build docker registry URI and call build_image - image_full_uri = f"{build_configuration.registry}:{build_configuration.version}" - - logger.info( - f"Building {image_full_uri} for platforms={build_configuration.platforms}, dockerfile args: {build_args}" - ) + tags = [f"{build_configuration.registry}:{build_configuration.version}"] + if build_configuration.latest_tag: + tags.append(f"{build_configuration.registry}:{"latest"}") execute_docker_build( - tag=image_full_uri, + tags=tags, dockerfile=build_configuration.dockerfile_path, path=build_path, args=build_args, diff --git a/scripts/release/build/build_info.py b/scripts/release/build/build_info.py index 1c6557473..f97733acc 100644 --- a/scripts/release/build/build_info.py +++ b/scripts/release/build/build_info.py @@ -32,6 +32,7 @@ class ImageInfo: version: str dockerfile_path: str sign: bool + latest_tag: bool @dataclass @@ -107,6 +108,7 @@ def load_build_info( version=image_version, dockerfile_path=data["dockerfile-path"], sign=scenario_data.get("sign", False), + latest_tag=scenario_data.get("latest-tag", False), ) binaries = {} diff --git a/scripts/release/build/build_scenario.py b/scripts/release/build/build_scenario.py index aba2d5708..5faeec183 100644 --- a/scripts/release/build/build_scenario.py +++ b/scripts/release/build/build_scenario.py @@ -3,7 +3,8 @@ from git import Repo from lib.base_logger import logger -from scripts.release.constants import triggered_by_git_tag, is_evg_patch, is_running_in_evg, get_version_id +from scripts.release.constants import triggered_by_git_tag, is_evg_patch, is_running_in_evg, get_version_id, \ + get_github_commit from scripts.release.version import calculate_next_version COMMIT_SHA_LENGTH = 8 @@ -22,18 +23,18 @@ def infer_scenario_from_environment(cls) -> "BuildScenario": is_patch = is_evg_patch() is_evg = is_running_in_evg() patch_id = get_version_id() + commit_sha = get_github_commit() if git_tag: # Release scenario and the git tag will be used for promotion process only scenario = BuildScenario.RELEASE logger.info(f"Build scenario: {scenario} (git_tag: {git_tag})") - elif is_patch or is_evg: + elif is_patch and is_evg: scenario = BuildScenario.PATCH logger.info(f"Build scenario: {scenario} (patch_id: {patch_id})") - # TODO: Uncomment the following lines when starting to work on staging builds - # elif is_evg: - # scenario = BuildScenario.STAGING - # logger.info(f"Build scenario: {scenario} (patch_id: {patch_id})") + elif is_evg: + scenario = BuildScenario.STAGING + logger.info(f"Build scenario: {scenario} (commit_sha: {commit_sha[:COMMIT_SHA_LENGTH]})") else: scenario = BuildScenario.DEVELOPMENT logger.info(f"Build scenario: {scenario}") diff --git a/scripts/release/build/image_build_configuration.py b/scripts/release/build/image_build_configuration.py index 966b7d02e..aae536b7a 100644 --- a/scripts/release/build/image_build_configuration.py +++ b/scripts/release/build/image_build_configuration.py @@ -10,6 +10,7 @@ class ImageBuildConfiguration: scenario: BuildScenario version: str + latest_tag: bool registry: str dockerfile_path: str diff --git a/scripts/release/build/image_build_process.py b/scripts/release/build/image_build_process.py index 93c3a53d1..3e787b5e1 100644 --- a/scripts/release/build/image_build_process.py +++ b/scripts/release/build/image_build_process.py @@ -73,7 +73,7 @@ def ensure_buildx_builder(builder_name: str = DEFAULT_BUILDER_NAME) -> str: def execute_docker_build( - tag: str, + tags: list[str], dockerfile: str, path: str, args: Dict[str, str], @@ -84,7 +84,7 @@ def execute_docker_build( """ Build a Docker image using python_on_whales and Docker Buildx for multi-architecture support. - :param tag: Image tag (name:tag) + :param tags: Image tags (name:tag) :param dockerfile: Name or relative path of the Dockerfile within `path` :param path: Build context path (directory with the Dockerfile) :param args: Build arguments dictionary @@ -102,7 +102,7 @@ def execute_docker_build( # Convert build args to the format expected by python_on_whales build_args = {k: str(v) for k, v in args.items()} - logger.info(f"Building image: {tag}") + logger.info(f"Building images: {tags}") logger.info(f"Platforms: {platforms}") logger.info(f"Dockerfile: {dockerfile}") logger.info(f"Build context: {path}") @@ -117,7 +117,7 @@ def execute_docker_build( context_path=path, file=dockerfile, # TODO: add tag for release builds (OLM immutable tag) - tags=[tag], + tags=tags, platforms=platforms, builder=builder_name, build_args=build_args, @@ -126,8 +126,8 @@ def execute_docker_build( pull=False, # Don't always pull base images ) - logger.info(f"Successfully built {'and pushed' if push else ''} {tag}") + logger.info(f"Successfully built {'and pushed' if push else ''} {tags}") except Exception as e: - logger.error(f"Failed to build image {tag}: {e}") - raise RuntimeError(f"Failed to build image {tag}: {str(e)}") + logger.error(f"Failed to build image {tags}: {e}") + raise RuntimeError(f"Failed to build image {tags}: {str(e)}") diff --git a/scripts/release/constants.py b/scripts/release/constants.py index 20ad747a5..dd0e462c2 100644 --- a/scripts/release/constants.py +++ b/scripts/release/constants.py @@ -51,3 +51,12 @@ def get_version_id() -> str | None: :return: version_id (patch ID) or None if not set """ return os.getenv("version_id") + + +def get_github_commit() -> str | None: + """ + ${github_commit} is the commit hash of the commit that triggered the patch run. + For non pull-request patches, it will be the same as ${revision}. + :return: github_commit or None if not set + """ + return os.getenv("github_commit") diff --git a/scripts/release/pipeline_main.py b/scripts/release/pipeline_main.py index c7e2c0c97..5e6a29650 100644 --- a/scripts/release/pipeline_main.py +++ b/scripts/release/pipeline_main.py @@ -109,6 +109,7 @@ def image_build_config_from_args(args) -> ImageBuildConfiguration: # Resolve final values with overrides version = args.version or image_build_info.version + latest_tag = image_build_info.latest_tag registry = args.registry or image_build_info.repository platforms = get_platforms_from_arg(args.platform) or image_build_info.platforms sign = args.sign or image_build_info.sign @@ -117,6 +118,7 @@ def image_build_config_from_args(args) -> ImageBuildConfiguration: return ImageBuildConfiguration( scenario=build_scenario, version=version, + latest_tag=latest_tag, registry=registry, dockerfile_path=dockerfile_path, parallel=args.parallel, diff --git a/scripts/release/tests/build_info_test.py b/scripts/release/tests/build_info_test.py index bef97173d..c7f6473af 100644 --- a/scripts/release/tests/build_info_test.py +++ b/scripts/release/tests/build_info_test.py @@ -22,6 +22,7 @@ def test_load_build_info_development(git_repo: Repo): platforms=["linux/amd64"], version=version, dockerfile_path="docker/mongodb-kubernetes-operator/Dockerfile.atomic", + latest_tag=False, sign=False, ), "operator-race": ImageInfo( @@ -29,6 +30,7 @@ def test_load_build_info_development(git_repo: Repo): platforms=["linux/amd64"], version=version, dockerfile_path="docker/mongodb-kubernetes-operator/Dockerfile.atomic", + latest_tag=False, sign=False, ), "init-database": ImageInfo( @@ -36,6 +38,7 @@ def test_load_build_info_development(git_repo: Repo): platforms=["linux/amd64"], version=version, dockerfile_path="docker/mongodb-kubernetes-init-database/Dockerfile.atomic", + latest_tag=False, sign=False, ), "init-appdb": ImageInfo( @@ -43,6 +46,7 @@ def test_load_build_info_development(git_repo: Repo): platforms=["linux/amd64"], version=version, dockerfile_path="docker/mongodb-kubernetes-init-appdb/Dockerfile.atomic", + latest_tag=False, sign=False, ), "init-ops-manager": ImageInfo( @@ -50,6 +54,7 @@ def test_load_build_info_development(git_repo: Repo): platforms=["linux/amd64"], version=version, dockerfile_path="docker/mongodb-kubernetes-init-ops-manager/Dockerfile.atomic", + latest_tag=False, sign=False, ), "database": ImageInfo( @@ -57,6 +62,7 @@ def test_load_build_info_development(git_repo: Repo): platforms=["linux/amd64"], version=version, dockerfile_path="docker/mongodb-kubernetes-database/Dockerfile.atomic", + latest_tag=False, sign=False, ), "mco-tests": ImageInfo( @@ -64,6 +70,7 @@ def test_load_build_info_development(git_repo: Repo): platforms=["linux/amd64"], version=version, dockerfile_path="docker/mongodb-community-tests/Dockerfile", + latest_tag=False, sign=False, ), "meko-tests": ImageInfo( @@ -71,6 +78,7 @@ def test_load_build_info_development(git_repo: Repo): platforms=["linux/amd64"], version=version, dockerfile_path="docker/mongodb-kubernetes-tests/Dockerfile", + latest_tag=False, sign=False, ), "readiness-probe": ImageInfo( @@ -78,6 +86,7 @@ def test_load_build_info_development(git_repo: Repo): platforms=["linux/amd64"], version=version, dockerfile_path="docker/mongodb-kubernetes-readinessprobe/Dockerfile.atomic", + latest_tag=False, sign=False, ), "upgrade-hook": ImageInfo( @@ -85,6 +94,7 @@ def test_load_build_info_development(git_repo: Repo): platforms=["linux/amd64"], version=version, dockerfile_path="docker/mongodb-kubernetes-upgrade-hook/Dockerfile.atomic", + latest_tag=False, sign=False, ), "agent": ImageInfo( @@ -92,13 +102,15 @@ def test_load_build_info_development(git_repo: Repo): platforms=["linux/amd64"], version=version, dockerfile_path="docker/mongodb-agent/Dockerfile.atomic", + latest_tag=False, sign=False, ), "ops-manager": ImageInfo( - repository="268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-enterprise-ops-manager", + repository="268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-enterprise-ops-manager-ubi", platforms=["linux/amd64"], version="om-version-from-release.json", dockerfile_path="docker/mongodb-enterprise-ops-manager/Dockerfile.atomic", + latest_tag=False, sign=False, ), }, @@ -135,6 +147,7 @@ def test_load_build_info_patch(git_repo: Repo): platforms=["linux/amd64"], version=patch_id, dockerfile_path="docker/mongodb-kubernetes-operator/Dockerfile.atomic", + latest_tag=False, sign=False, ), "operator-race": ImageInfo( @@ -142,6 +155,7 @@ def test_load_build_info_patch(git_repo: Repo): platforms=["linux/amd64"], version=patch_id, dockerfile_path="docker/mongodb-kubernetes-operator/Dockerfile.atomic", + latest_tag=False, sign=False, ), "init-database": ImageInfo( @@ -149,6 +163,7 @@ def test_load_build_info_patch(git_repo: Repo): platforms=["linux/amd64"], version=patch_id, dockerfile_path="docker/mongodb-kubernetes-init-database/Dockerfile.atomic", + latest_tag=False, sign=False, ), "init-appdb": ImageInfo( @@ -156,6 +171,7 @@ def test_load_build_info_patch(git_repo: Repo): platforms=["linux/amd64"], version=patch_id, dockerfile_path="docker/mongodb-kubernetes-init-appdb/Dockerfile.atomic", + latest_tag=False, sign=False, ), "init-ops-manager": ImageInfo( @@ -163,6 +179,7 @@ def test_load_build_info_patch(git_repo: Repo): platforms=["linux/amd64"], version=patch_id, dockerfile_path="docker/mongodb-kubernetes-init-ops-manager/Dockerfile.atomic", + latest_tag=False, sign=False, ), "database": ImageInfo( @@ -170,6 +187,7 @@ def test_load_build_info_patch(git_repo: Repo): platforms=["linux/amd64"], version=patch_id, dockerfile_path="docker/mongodb-kubernetes-database/Dockerfile.atomic", + latest_tag=False, sign=False, ), "mco-tests": ImageInfo( @@ -177,6 +195,7 @@ def test_load_build_info_patch(git_repo: Repo): platforms=["linux/amd64"], version=patch_id, dockerfile_path="docker/mongodb-community-tests/Dockerfile", + latest_tag=False, sign=False, ), "meko-tests": ImageInfo( @@ -184,6 +203,7 @@ def test_load_build_info_patch(git_repo: Repo): platforms=["linux/amd64"], version=patch_id, dockerfile_path="docker/mongodb-kubernetes-tests/Dockerfile", + latest_tag=False, sign=False, ), "readiness-probe": ImageInfo( @@ -191,6 +211,7 @@ def test_load_build_info_patch(git_repo: Repo): platforms=["linux/amd64"], version=patch_id, dockerfile_path="docker/mongodb-kubernetes-readinessprobe/Dockerfile.atomic", + latest_tag=False, sign=False, ), "upgrade-hook": ImageInfo( @@ -198,6 +219,7 @@ def test_load_build_info_patch(git_repo: Repo): platforms=["linux/amd64"], version=patch_id, dockerfile_path="docker/mongodb-kubernetes-upgrade-hook/Dockerfile.atomic", + latest_tag=False, sign=False, ), "agent": ImageInfo( @@ -205,13 +227,15 @@ def test_load_build_info_patch(git_repo: Repo): platforms=["linux/amd64"], version=patch_id, dockerfile_path="docker/mongodb-agent/Dockerfile.atomic", + latest_tag=False, sign=False, ), "ops-manager": ImageInfo( - repository="268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-enterprise-ops-manager", + repository="268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-enterprise-ops-manager-ubi", platforms=["linux/amd64"], version="om-version-from-release.json", dockerfile_path="docker/mongodb-enterprise-ops-manager/Dockerfile.atomic", + latest_tag=False, sign=False, ), }, @@ -246,44 +270,50 @@ def test_load_build_info_staging(git_repo: Repo): images={ "operator": ImageInfo( repository="268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-kubernetes", - platforms=["linux/arm64", "linux/amd64"], + platforms=["linux/amd64"], version=expected_commit_sha, dockerfile_path="docker/mongodb-kubernetes-operator/Dockerfile.atomic", + latest_tag=False, sign=True, ), "operator-race": ImageInfo( repository="268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-kubernetes", - platforms=["linux/arm64", "linux/amd64"], + platforms=["linux/amd64"], version=expected_commit_sha, dockerfile_path="docker/mongodb-kubernetes-operator/Dockerfile.atomic", + latest_tag=False, sign=True, ), "init-database": ImageInfo( repository="268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-kubernetes-init-database", - platforms=["linux/arm64", "linux/amd64"], + platforms=["linux/amd64"], version=expected_commit_sha, dockerfile_path="docker/mongodb-kubernetes-init-database/Dockerfile.atomic", + latest_tag=True, sign=True, ), "init-appdb": ImageInfo( repository="268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-kubernetes-init-appdb", - platforms=["linux/arm64", "linux/amd64"], + platforms=["linux/amd64"], version=expected_commit_sha, dockerfile_path="docker/mongodb-kubernetes-init-appdb/Dockerfile.atomic", + latest_tag=True, sign=True, ), "init-ops-manager": ImageInfo( repository="268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-kubernetes-init-ops-manager", - platforms=["linux/arm64", "linux/amd64"], + platforms=["linux/amd64"], version=expected_commit_sha, dockerfile_path="docker/mongodb-kubernetes-init-ops-manager/Dockerfile.atomic", + latest_tag=True, sign=True, ), "database": ImageInfo( repository="268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-kubernetes-database", - platforms=["linux/arm64", "linux/amd64"], + platforms=["linux/amd64"], version=expected_commit_sha, dockerfile_path="docker/mongodb-kubernetes-database/Dockerfile.atomic", + latest_tag=True, sign=True, ), "mco-tests": ImageInfo( @@ -291,6 +321,7 @@ def test_load_build_info_staging(git_repo: Repo): platforms=["linux/amd64"], version=expected_commit_sha, dockerfile_path="docker/mongodb-community-tests/Dockerfile", + latest_tag=False, sign=False, ), "meko-tests": ImageInfo( @@ -298,34 +329,39 @@ def test_load_build_info_staging(git_repo: Repo): platforms=["linux/amd64"], version=expected_commit_sha, dockerfile_path="docker/mongodb-kubernetes-tests/Dockerfile", + latest_tag=False, sign=False, ), "readiness-probe": ImageInfo( repository="268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-kubernetes-readinessprobe", - platforms=["linux/arm64", "linux/amd64"], + platforms=["linux/amd64"], version=expected_commit_sha, dockerfile_path="docker/mongodb-kubernetes-readinessprobe/Dockerfile.atomic", + latest_tag=True, sign=True, ), "upgrade-hook": ImageInfo( repository="268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-kubernetes-operator-version-upgrade-post-start-hook", - platforms=["linux/arm64", "linux/amd64"], + platforms=["linux/amd64"], version=expected_commit_sha, dockerfile_path="docker/mongodb-kubernetes-upgrade-hook/Dockerfile.atomic", + latest_tag=True, sign=True, ), "agent": ImageInfo( repository="268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-agent-ubi", - platforms=["linux/arm64", "linux/amd64"], + platforms=["linux/amd64"], version=expected_commit_sha, dockerfile_path="docker/mongodb-agent/Dockerfile.atomic", + latest_tag=False, sign=True, ), "ops-manager": ImageInfo( - repository="268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-enterprise-ops-manager", + repository="268558157000.dkr.ecr.us-east-1.amazonaws.com/staging/mongodb-enterprise-ops-manager-ubi", platforms=["linux/amd64"], version="om-version-from-release.json", dockerfile_path="docker/mongodb-enterprise-ops-manager/Dockerfile.atomic", + latest_tag=False, sign=True, ), }, @@ -361,65 +397,74 @@ def test_load_build_info_release( images={ "operator": ImageInfo( repository="quay.io/mongodb/mongodb-kubernetes", - platforms=["linux/arm64", "linux/amd64"], + platforms=["linux/amd64"], version=version, dockerfile_path="docker/mongodb-kubernetes-operator/Dockerfile.atomic", + latest_tag=False, sign=True, ), "init-database": ImageInfo( repository="quay.io/mongodb/mongodb-kubernetes-init-database", - platforms=["linux/arm64", "linux/amd64"], + platforms=["linux/amd64"], version=version, dockerfile_path="docker/mongodb-kubernetes-init-database/Dockerfile.atomic", + latest_tag=False, sign=True, ), "init-appdb": ImageInfo( repository="quay.io/mongodb/mongodb-kubernetes-init-appdb", - platforms=["linux/arm64", "linux/amd64"], + platforms=["linux/amd64"], version=version, dockerfile_path="docker/mongodb-kubernetes-init-appdb/Dockerfile.atomic", + latest_tag=False, sign=True, ), "init-ops-manager": ImageInfo( repository="quay.io/mongodb/mongodb-kubernetes-init-ops-manager", - platforms=["linux/arm64", "linux/amd64"], + platforms=["linux/amd64"], version=version, dockerfile_path="docker/mongodb-kubernetes-init-ops-manager/Dockerfile.atomic", + latest_tag=False, sign=True, ), "database": ImageInfo( repository="quay.io/mongodb/mongodb-kubernetes-database", - platforms=["linux/arm64", "linux/amd64"], + platforms=["linux/amd64"], version=version, dockerfile_path="docker/mongodb-kubernetes-database/Dockerfile.atomic", + latest_tag=False, sign=True, ), "readiness-probe": ImageInfo( repository="quay.io/mongodb/mongodb-kubernetes-readinessprobe", - platforms=["linux/arm64", "linux/amd64"], + platforms=["linux/amd64"], version=readinessprobe_version, dockerfile_path="docker/mongodb-kubernetes-readinessprobe/Dockerfile.atomic", + latest_tag=False, sign=True, ), "upgrade-hook": ImageInfo( repository="quay.io/mongodb/mongodb-kubernetes-operator-version-upgrade-post-start-hook", - platforms=["linux/arm64", "linux/amd64"], + platforms=["linux/amd64"], version=operator_version_upgrade_post_start_hook_version, dockerfile_path="docker/mongodb-kubernetes-upgrade-hook/Dockerfile.atomic", + latest_tag=False, sign=True, ), "agent": ImageInfo( repository="quay.io/mongodb/mongodb-agent-ubi", - platforms=["linux/arm64", "linux/amd64"], + platforms=["linux/amd64"], version=version, dockerfile_path="docker/mongodb-agent/Dockerfile.atomic", + latest_tag=False, sign=True, ), "ops-manager": ImageInfo( - repository="quay.io/mongodb/mongodb-enterprise-ops-manager", + repository="quay.io/mongodb/mongodb-enterprise-ops-manager-ubi", platforms=["linux/amd64"], version="om-version-from-release.json", dockerfile_path="docker/mongodb-enterprise-ops-manager/Dockerfile.atomic", + latest_tag=False, sign=True, ), }, diff --git a/scripts/release/tests/release_info_test.py b/scripts/release/tests/release_info_test.py index 213f5d8e6..4b62da1d3 100644 --- a/scripts/release/tests/release_info_test.py +++ b/scripts/release/tests/release_info_test.py @@ -15,37 +15,37 @@ def test_create_release_info_json( "images": { "operator": { "repository": "quay.io/mongodb/mongodb-kubernetes", - "platforms": ["linux/arm64", "linux/amd64"], + "platforms": ["linux/amd64"], "version": "1.2.0", }, "init-database": { "repository": "quay.io/mongodb/mongodb-kubernetes-init-database", - "platforms": ["linux/arm64", "linux/amd64"], + "platforms": ["linux/amd64"], "version": "1.2.0", }, "init-appdb": { "repository": "quay.io/mongodb/mongodb-kubernetes-init-appdb", - "platforms": ["linux/arm64", "linux/amd64"], + "platforms": ["linux/amd64"], "version": "1.2.0", }, "init-ops-manager": { "repository": "quay.io/mongodb/mongodb-kubernetes-init-ops-manager", - "platforms": ["linux/arm64", "linux/amd64"], + "platforms": ["linux/amd64"], "version": "1.2.0", }, "database": { "repository": "quay.io/mongodb/mongodb-kubernetes-database", - "platforms": ["linux/arm64", "linux/amd64"], + "platforms": ["linux/amd64"], "version": "1.2.0", }, "readiness-probe": { "repository": "quay.io/mongodb/mongodb-kubernetes-readinessprobe", - "platforms": ["linux/arm64", "linux/amd64"], + "platforms": ["linux/amd64"], "version": readinessprobe_version, }, "upgrade-hook": { "repository": "quay.io/mongodb/mongodb-kubernetes-operator-version-upgrade-post-start-hook", - "platforms": ["linux/arm64", "linux/amd64"], + "platforms": ["linux/amd64"], "version": operator_version_upgrade_post_start_hook_version, }, },