diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c9c45a7b764e340d2628ca0b8964f160f9d88829..1a820bba71538d1e88a5eb24f3e857e36ab91d63 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -9,14 +9,14 @@ stages: variables: CI_SKIP_TESTS: "false" -koji: +.koji: stage: build_koji image: 'gitlab-registry.cern.ch/linuxsupport/rpmci/kojicli' script: - echo "${KOJICI_PWD}" | kinit ${KOJICI_USER}@CERN.CH - | koji image-build c8-docker-base 8.x.`date "+%Y%m%d"` \ - c8-image-8x http://linuxsoft.cern.ch/cern/centos/8/BaseOS/x86_64/kickstart/ x86_64 \ + c8-image-8x http://linuxsoft.cern.ch/cern/centos/8/BaseOS/${ARCH}/kickstart/ ${ARCH} \ --ksurl=git+ssh://git@gitlab.cern.ch:7999/${CI_PROJECT_PATH}#${CI_COMMIT_SHORT_SHA} --kickstart=c8-base-docker.ks \ --distro=RHEL-8.2 --format=docker --ksversion=RHEL8 --factory-parameter=dockerversion 1.10.1 \ --factory-parameter=docker_env '["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"]' \ @@ -26,12 +26,22 @@ koji: - koji taskinfo ${TASKID} | tee taskinfo - export BUILD=$(sed -z -e 's/.*Build:\ \([^ ]\+\) .*/\1/g' taskinfo) - koji download-build --noprogress --type=image ${BUILD} + variables: + ARCH: x86_64 artifacts: paths: - "c8-docker-base-*.tar.xz" expire_in: 1 month -docker: +koji: + extends: .koji + +koji-a: + extends: .koji + variables: + ARCH: aarch64 + +.docker: stage: build_docker tags: - docker-privileged @@ -55,7 +65,21 @@ docker: - "load" expire_in: 1 month -upstream_test_docker: +docker: + extends: .docker + dependencies: + - koji + needs: + - koji + +docker-a: + extends: .docker + dependencies: + - koji-a + needs: + - koji-a + +.upstream_test_docker: stage: upstream_test_docker tags: - docker-privileged @@ -81,7 +105,14 @@ upstream_test_docker: - "load" expire_in: 1 month -cern_test_docker: +upstream_test_docker: + extends: .upstream_test_docker + dependencies: + - docker + needs: + - docker + +.cern_test_docker: stage: cern_test_docker tags: - docker-privileged @@ -107,7 +138,16 @@ cern_test_docker: - "load" expire_in: 1 month -tag_latest: +cern_test_docker: + extends: .cern_test_docker + dependencies: + - docker + - upstream_test_docker + needs: + - docker + - upstream_test_docker + +.tag_latest: stage: tag_docker tags: - docker-privileged @@ -133,6 +173,20 @@ tag_latest: - docker push "cern/${CI_PROJECT_NAME}:${VERSION}" - echo docker push "cern/${CI_PROJECT_NAME}:latest" - docker push "cern/${CI_PROJECT_NAME}:latest" + when: manual + +tag_latest: + extends: .tag_latest dependencies: - docker - when: manual + - cern_test_docker + needs: + - docker + - cern_test_docker + +tag_latest-a: + extends: .tag_latest + dependencies: + - docker-a + needs: + - docker-a