diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index edb31f53..5b08f7a3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -130,6 +130,28 @@ build_eds_check_image_arm64: - if [ -n "$CI_COMMIT_TAG" ]; then docker buildx imagetools create $TARGET_IMAGE --tag $RELEASE_IMAGE; fi +.docker_publish_job_definition: + image: registry.ddbuild.io/agent-delivery/dd-pkg:v0.9.0 + tags: [ "arch:arm64" ] + before_script: [] + variables: + IMG_SIGNING: "false" + IMG_REGISTRIES: "public" + PUBLIC_IMAGES_PUBLISH_TIMEOUT: "1800" + script: + - | + set -euo pipefail + dd-pkg version + args=(publish-image --timeout "${PUBLIC_IMAGES_PUBLISH_TIMEOUT}" --poll-interval 30 --signing="${IMG_SIGNING}") + if [[ -n "${IMG_REGISTRIES:-}" ]]; then args+=(--registries "${IMG_REGISTRIES}"); fi + if [[ -n "${IMG_SOURCES:-}" ]]; then args+=(--sources "${IMG_SOURCES}"); fi + if [[ -n "${IMG_DESTINATIONS:-}" ]]; then args+=(--destinations "${IMG_DESTINATIONS}"); fi + if [[ -n "${IMG_DESTINATIONS_REGEX:-}" ]]; then args+=(--regex-expression "${IMG_DESTINATIONS_REGEX}"); fi + if [[ -n "${IMG_DESTINATIONS_REGEX_REPL:-}" ]]; then args+=(--regex-replacement "${IMG_DESTINATIONS_REGEX_REPL}"); fi + if [[ -n "${IMG_TAG_REFERENCE:-}" ]]; then args+=(--tag-reference "${IMG_TAG_REFERENCE}"); fi + if [[ -n "${IMG_NEW_TAGS:-}" ]]; then args+=(--new-tags "${IMG_NEW_TAGS}"); fi + dd-pkg "${args[@]}" + publish_public_main: stage: release rules: @@ -139,10 +161,7 @@ publish_public_main: needs: - build_eds_image_arm64 - build_eds_image_amd64 - trigger: - project: DataDog/public-images - branch: main - strategy: depend + extends: .docker_publish_job_definition variables: IMG_SOURCES: $BUILD_DOCKER_REGISTRY/$PROJECTNAME:v${CI_PIPELINE_ID}-${CI_COMMIT_SHORT_SHA}-amd64,$BUILD_DOCKER_REGISTRY/$PROJECTNAME:v${CI_PIPELINE_ID}-${CI_COMMIT_SHORT_SHA}-arm64 IMG_DESTINATIONS: $PROJECTNAME:main @@ -163,10 +182,7 @@ publish_public_tag: needs: - build_eds_image_arm64 - build_eds_image_amd64 - trigger: - project: DataDog/public-images - branch: main - strategy: depend + extends: .docker_publish_job_definition variables: IMG_SOURCES: $BUILD_DOCKER_REGISTRY/$PROJECTNAME:$CI_COMMIT_TAG-amd64,$BUILD_DOCKER_REGISTRY/$PROJECTNAME:$CI_COMMIT_TAG-arm64 IMG_DESTINATIONS: $PROJECTNAME:$CI_COMMIT_TAG @@ -187,10 +203,7 @@ publish_public_latest: needs: - build_eds_image_arm64 - build_eds_image_amd64 - trigger: - project: DataDog/public-images - branch: main - strategy: depend + extends: .docker_publish_job_definition variables: IMG_SOURCES: $BUILD_DOCKER_REGISTRY/$PROJECTNAME:$CI_COMMIT_TAG-amd64,$BUILD_DOCKER_REGISTRY/$PROJECTNAME:$CI_COMMIT_TAG-arm64 IMG_DESTINATIONS: $PROJECTNAME:latest