SERVER-111439: Enable custom build promotion to any env (#41797)

GitOrigin-RevId: b74e7c452f89f0cc0d20d4a0b614f3a05a7d138c
This commit is contained in:
Dylan Richardson 2025-09-25 10:08:43 -05:00 committed by MongoDB Bot
parent 220f2ee15b
commit bf843f32c1
4 changed files with 23 additions and 17 deletions

2
.github/CODEOWNERS vendored
View File

@ -350,7 +350,7 @@ WORKSPACE.bazel @10gen/devprod-build @svc-auto-approve-bot
/evergreen/generate_evergreen_bazelrc.sh @10gen/devprod-build @svc-auto-approve-bot /evergreen/generate_evergreen_bazelrc.sh @10gen/devprod-build @svc-auto-approve-bot
/evergreen/get_custom_build_promotion_expansions.sh @10gen/devprod-release-infrastructure @svc-auto-approve-bot /evergreen/get_custom_build_promotion_expansions.sh @10gen/devprod-release-infrastructure @svc-auto-approve-bot
/evergreen/get_custom_build_promotion_expansions_debug.sh @10gen/devprod-release-infrastructure @svc-auto-approve-bot /evergreen/get_custom_build_promotion_expansions_debug.sh @10gen/devprod-release-infrastructure @svc-auto-approve-bot
/evergreen/upload_custom_build_to_cloud_dev.sh @10gen/devprod-release-infrastructure @svc-auto-approve-bot /evergreen/upload_custom_build_to_cloud_env.sh @10gen/devprod-release-infrastructure @svc-auto-approve-bot
/evergreen/package* @10gen/devprod-build @svc-auto-approve-bot /evergreen/package* @10gen/devprod-build @svc-auto-approve-bot
/evergreen/validate_compile_commands.py @10gen/devprod-build @svc-auto-approve-bot /evergreen/validate_compile_commands.py @10gen/devprod-build @svc-auto-approve-bot
/evergreen/packager_crypt_py_run.sh @10gen/devprod-build @svc-auto-approve-bot /evergreen/packager_crypt_py_run.sh @10gen/devprod-build @svc-auto-approve-bot

View File

@ -941,15 +941,16 @@ tasks:
params: params:
binary: bash binary: bash
env: env:
PROMOTE_TO_CLOUD_DEV: ${promote_to_cloud_dev} PROMOTE_TO_CLOUD_ENV: ${promote_to_cloud_dev}
CLOUD_ENV: "cloud-dev"
PROMOTE_BUILD_VARIANT: ${promote_build_variant} PROMOTE_BUILD_VARIANT: ${promote_build_variant}
PROMOTE_MONGO_VERSION: ${version} PROMOTE_MONGO_VERSION: ${version}
PROMOTE_REVISION: ${promote_revision} PROMOTE_REVISION: ${promote_revision}
PROMOTE_CDN_ADDRESS: ${promote_cdn_address} PROMOTE_CDN_ADDRESS: ${promote_cdn_address}
CLOUD_DEV_API_PUBLIC_KEY: ${cloud_dev_api_public_key} CLOUD_ENV_API_PUBLIC_KEY: ${cloud_dev_api_public_key}
CLOUD_DEV_API_PRIVATE_KEY: ${cloud_dev_api_private_key} CLOUD_ENV_API_PRIVATE_KEY: ${cloud_dev_api_private_key}
args: args:
- "./src/evergreen/upload_custom_build_to_cloud_dev.sh" - "./src/evergreen/upload_custom_build_to_cloud_env.sh"
- name: promote_sys_perf_build - name: promote_sys_perf_build
run_on: amazon2023-small run_on: amazon2023-small
@ -1006,15 +1007,16 @@ tasks:
params: params:
binary: bash binary: bash
env: env:
PROMOTE_TO_CLOUD_DEV: ${promote_to_cloud_dev} PROMOTE_TO_CLOUD_ENV: ${promote_to_cloud_dev}
CLOUD_ENV: "cloud-dev"
PROMOTE_BUILD_VARIANT: ${promote_build_variant} PROMOTE_BUILD_VARIANT: ${promote_build_variant}
PROMOTE_MONGO_VERSION: ${version} PROMOTE_MONGO_VERSION: ${version}
PROMOTE_REVISION: ${promote_revision} PROMOTE_REVISION: ${promote_revision}
PROMOTE_CDN_ADDRESS: ${promote_cdn_address} PROMOTE_CDN_ADDRESS: ${promote_cdn_address}
CLOUD_DEV_API_PUBLIC_KEY: ${cloud_dev_api_public_key} CLOUD_ENV_API_PUBLIC_KEY: ${cloud_dev_api_public_key}
CLOUD_DEV_API_PRIVATE_KEY: ${cloud_dev_api_private_key} CLOUD_ENV_API_PRIVATE_KEY: ${cloud_dev_api_private_key}
args: args:
- "./src/evergreen/upload_custom_build_to_cloud_dev.sh" - "./src/evergreen/upload_custom_build_to_cloud_env.sh"
- name: crypt_push - name: crypt_push
run_on: rhel8.7-small run_on: rhel8.7-small

View File

@ -24,7 +24,7 @@ filters:
- "get_custom_build_promotion_expansions_debug.sh": - "get_custom_build_promotion_expansions_debug.sh":
approvers: approvers:
- 10gen/devprod-release-infrastructure - 10gen/devprod-release-infrastructure
- "upload_custom_build_to_cloud_dev.sh": - "upload_custom_build_to_cloud_env.sh":
approvers: approvers:
- 10gen/devprod-release-infrastructure - 10gen/devprod-release-infrastructure
- "/package*": - "/package*":

View File

@ -1,10 +1,14 @@
# see SERVER-107057 for information about this script # see SERVER-107057 for information about this script
if [ "$PROMOTE_TO_CLOUD_DEV" = '' ]; then cloud_env="${CLOUD_ENV:-'cloud-dev'}"
echo "Skipping promotion to cloud-dev"
if [ "$PROMOTE_TO_CLOUD_ENV" = '' ]; then
echo "Skipping promotion to $cloud_env"
exit 0 exit 0
fi fi
echo "promoting build to environment '$cloud_env'"
case $PROMOTE_BUILD_VARIANT in case $PROMOTE_BUILD_VARIANT in
*"arm64"* | *"aarch64"*) *"arm64"* | *"aarch64"*)
promote_arch="aarch64" promote_arch="aarch64"
@ -13,7 +17,7 @@ case $PROMOTE_BUILD_VARIANT in
promote_arch="amd64" promote_arch="amd64"
;; ;;
*) *)
echo "Could not parse architecture for build variant ${PROMOTE_BUILD_VARIANT} skipping promotion to cloud-dev" echo "Could not parse architecture for build variant ${PROMOTE_BUILD_VARIANT} skipping promotion to cloud environment"
exit 0 exit 0
;; ;;
esac esac
@ -21,7 +25,7 @@ esac
case $PROMOTE_BUILD_VARIANT in case $PROMOTE_BUILD_VARIANT in
*"amazon"*) ;; *"amazon"*) ;;
*) *)
echo "buildvariant ${PROMOTE_BUILD_VARIANT} doesn't appear to be an amazon buildvariant, skipping promotion to cloud-dev" echo "buildvariant ${PROMOTE_BUILD_VARIANT} doesn't appear to be an amazon buildvariant, skipping promotion to cloud environment"
exit 0 exit 0
;; ;;
esac esac
@ -36,7 +40,7 @@ case $PROMOTE_BUILD_VARIANT in
promote_min_os_version="2" promote_min_os_version="2"
;; ;;
*) *)
echo "Could not parse flavor for build variant ${PROMOTE_BUILD_VARIANT} skipping promotion to cloud-dev" echo "Could not parse flavor for build variant ${PROMOTE_BUILD_VARIANT} skipping promotion to cloud environment"
exit 0 exit 0
;; ;;
esac esac
@ -67,8 +71,8 @@ response=$(curl -sS --fail-with-body \
--digest \ --digest \
--header "Content-Type: application/json" \ --header "Content-Type: application/json" \
--data @body.json \ --data @body.json \
-u "${CLOUD_DEV_API_PUBLIC_KEY}:${CLOUD_DEV_API_PRIVATE_KEY}" \ -u "${CLOUD_ENV_API_PUBLIC_KEY}:${CLOUD_ENV_API_PRIVATE_KEY}" \
https://cloud-dev.mongodb.com/api/private/nds/customMongoDbBuild) "https://${cloud_env}.mongodb.com/api/private/nds/customMongoDbBuild")
result=$? result=$?