diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ed995b622796ce59c163e19972b9bd4a6e23e34c..63db2da6c9064700ec6be9b500448e0c1ee4fb8d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,54 @@ stages: - triggers - test +- promote-image +- announce-promoted-image + + +############################################################ +##### PROMOTE PROD IMAGES ##### +############################################################ + +.definition_promote_prod_image: &template_promote_prod_image + stage: promote-image + tags: + - hep-workload-gpu-docker-builder + image: + name: gitlab-registry.cern.ch/hep-benchmarks/hep-workloads-builder/dind:qa + entrypoint: [""] + after_script: + - docker images + - docker ps -a + script: + - echo "current branch is ${CI_COMMIT_BRANCH}" + - echo "current commit is ${CI_COMMIT_SHA:0:8}" + - echo "current tag is ${CI_COMMIT_TAG}" + - if [[ -z $IMAGE_NAME ]]; then echo "ERROR variable IMAGE_NAME is not defined "; exit 1; fi + - if [[ -z $IMAGE_TAG ]]; then echo "ERROR variable IMAGE_TAG is not defined "; exit 1; fi + - if [[ -z $CI_COMMIT_TAG ]]; then echo "ERROR variable CI_COMMIT_TAG is not defined "; exit 1; fi + - echo "start IMAGE is ${IMAGE_NAME}:${IMAGE_TAG}" + - NEW_IMAGE_TAG=`echo ${CI_COMMIT_TAG} | sed -e 's@.*-\(v[0-9\.]*\)@\1@'` + - echo "new IMAGE TAG is ${NEW_IMAGE_TAG}" + - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN gitlab-registry.cern.ch + - docker tag ${IMAGE}:${IMAGE_TAG} ${IMAGE}:${NEW_IMAGE_TAG} + - docker tag ${IMAGE}:${IMAGE_TAG} ${IMAGE}:latest + - docker push ${IMAGE}:${NEW_IMAGE_TAG} + - docker push ${IMAGE}:latest + only: + variables: + - $CI_COMMIT_TAG =~ /^.*-v[0-9].*$/ + +.defnition_announce_prod_image: &template_announce_prod_image + stage: announce-promoted-image + image: $CI_REGISTRY_IMAGE/announcement:latest + only: + variables: + - $CI_COMMIT_TAG =~ /^.*-v[0-9].*$/ + script: + - /announce.sh $IMAGE + before_script: + - export IMAGE=$CI_REGISTRY_IMAGE/something + ##################################################### ### ATLAS KV (a test of cvmfs functionality) @@ -40,7 +88,7 @@ stages: ### CMS PATATRACK ##################################################### -patatrack: +build_patatrack: stage: triggers trigger: include: @@ -49,13 +97,21 @@ patatrack: only: variables: - $CI_COMMIT_BRANCH =~ /^qa.*$/ - - $CI_COMMIT_TAG =~ /^cms-patatrack-v.*$/ changes: - cms/patatrack/* - cms/patatrack/ci-scripts/* - cms/patatrack/cms-patatrack/* - cms/patatrack/cms-patatrack/utility_scripts/* - + +promote_patatrack: + <<: *template_promote_prod_image + only: + variables: + - $CI_COMMIT_TAG =~ /^cms-patatrack-v.*$/ + before_script: + - export IMAGE_NAME=$CI_REGISTRY_IMAGE/cms/cms-patatrack-nvidia-bmk + - export IMAGE_TAG:ci-qa-${CI_COMMIT_SHA:0:8} + ##################################################### ### LHC Simple Track ##################################################### diff --git a/cms/cms-patatrack-ci.yml b/cms/cms-patatrack-ci.yml index 1e470d90ed5299952cfff8aaf4a1cf40516b07e8..fa62a2dda53cd448c95fc0d307ecf6db5614ad19 100644 --- a/cms/cms-patatrack-ci.yml +++ b/cms/cms-patatrack-ci.yml @@ -72,7 +72,8 @@ job_build_base_image: only: changes: - cms/patatrack/ci-scripts/Dockerfile.nvidia.base - + variables: + - $CI_COMMIT_BRANCH =~ /^qa.*$/ job_build_data_image: stage: build_data_image @@ -86,6 +87,8 @@ job_build_data_image: changes: - cms/patatrack/ci-scripts/Dockerfile.nvidia.base - cms/patatrack/ci-scripts/Dockerfile.nvidia.data + variables: + - $CI_COMMIT_BRANCH =~ /^qa.*$/ job_build_interim_image: stage: build_interim_image @@ -100,6 +103,8 @@ job_build_interim_image: - cms/patatrack/ci-scripts/Dockerfile.nvidia.* - cms/patatrack/cms-patatrack/* - cms/patatrack/cms-patatrack/utility_scripts/* + variables: + - $CI_COMMIT_BRANCH =~ /^qa.*$/ job_snapshot_cvmfs: stage: snapshot_cvmfs @@ -119,7 +124,6 @@ job_snapshot_cvmfs: only: variables: - $CI_COMMIT_BRANCH =~ /^qa.*$/ - - $CI_COMMIT_TAG =~ /^v.*$/ changes: - cms/patatrack/ci-scripts/Dockerfile.nvidia.* - cms/patatrack/ci-scripts/snapshot_cvmfs.sh @@ -148,6 +152,8 @@ job_build_standalone_image: - cms/patatrack/ci-scripts/snapshot_cvmfs.sh - cms/patatrack/cms-patatrack/* - cms/patatrack/cms-patatrack/utility_scripts/* + variables: + - $CI_COMMIT_BRANCH =~ /^qa.*$/ job_test_standalone_image: stage: test