diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index df4e7af0f9c8105cd4164e5d9eabfd3c4e26388c..7801a210b50f1cae1a50ebf29785ac54b48b05e6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -229,17 +229,26 @@ base: --build-arg BUILD_IMAGE=${BUILD_IMAGE} containers/debian -jug_dev:default: +jug_dev: parallel: matrix: - BASE_IMAGE: debian_stable_base BUILD_IMAGE: jug_dev + BUILD_TYPE: + - default + - nightly PLATFORM: linux/amd64,linux/arm64/v8 # - BASE_IMAGE: oneapi_base # BUILD_IMAGE: jug_dev_oneapi +# BUILD_TYPE: +# - default +# - nightly # PLATFORM: linux/amd64 # - BASE_IMAGE: cuda_base_new # BUILD_IMAGE: jug_dev_cuda +# BUILD_TYPE: +# - default +# - nightly # PLATFORM: linux/amd64 extends: .build stage: jug @@ -247,6 +256,8 @@ jug_dev:default: - version - base script: + - if [ "${BUILD_TYPE}" == "nightly" ] ; then IF_BUILD_NIGHTLY=1 ; fi + - if [ "${BUILD_TYPE}" == "default" ] ; then IF_BUILD_DEFAULT=1 ; fi ## Setup mirrors.yaml with rw mirror secrets - cat mirrors.yaml.in | envsubst > mirrors.yaml ## Build targets @@ -254,10 +265,23 @@ jug_dev:default: source eic-spack.sh ; docker buildx build --push ${BUILD_OPTIONS} --tag ${CI_REGISTRY}/${CI_PROJECT_PATH}/${BUILD_IMAGE}:${INTERNAL_TAG} - ${EXPORT_TAG:+ - ${CI_PUSH:+--tag ${CI_REGISTRY}/${CI_PROJECT_PATH}/${BUILD_IMAGE}:${EXPORT_TAG}} - ${DH_PUSH:+--tag ${DH_REGISTRY}/${DH_REGISTRY_USER}/${BUILD_IMAGE}:${EXPORT_TAG}} - ${GH_PUSH:+--tag ${GH_REGISTRY}/${GH_REGISTRY_USER}/${BUILD_IMAGE}:${EXPORT_TAG}} + ${IF_BUILD_DEFAULT:+ + ${EXPORT_TAG:+ + ${CI_PUSH:+--tag ${CI_REGISTRY}/${CI_PROJECT_PATH}/${BUILD_IMAGE}:${EXPORT_TAG}} + ${DH_PUSH:+--tag ${DH_REGISTRY}/${DH_REGISTRY_USER}/${BUILD_IMAGE}:${EXPORT_TAG}} + ${GH_PUSH:+--tag ${GH_REGISTRY}/${GH_REGISTRY_USER}/${BUILD_IMAGE}:${EXPORT_TAG}} + } + } + ${IF_BUILD_NIGHTLY:+ + ${NIGHLTY:+ + ${CI_PUSH:+--tag ${CI_REGISTRY}/${CI_PROJECT_PATH}/${BUILD_IMAGE}:${NIGHTLY_TAG}} + ${DH_PUSH:+--tag ${DH_REGISTRY}/${DH_REGISTRY_USER}/${BUILD_IMAGE}:${NIGHTLY_TAG}} + ${GH_PUSH:+--tag ${GH_REGISTRY}/${GH_REGISTRY_USER}/${BUILD_IMAGE}:${NIGHTLY_TAG}} + ${PUSH_NIGHTLY_WITH_DATE:+ + ${DH_PUSH:+--tag ${DH_REGISTRY}/${DH_REGISTRY_USER}/${BUILD_IMAGE}:${NIGHTLY_TAG}-$(date +%Y-%m-%d)} + ${GH_PUSH:+--tag ${GH_REGISTRY}/${GH_REGISTRY_USER}/${BUILD_IMAGE}:${NIGHTLY_TAG}-$(date +%Y-%m-%d)} + } + } } --file containers/jug/dev.Dockerfile --platform ${PLATFORM} @@ -265,10 +289,14 @@ jug_dev:default: --build-arg BASE_IMAGE=${BASE_IMAGE} --build-arg INTERNAL_TAG=${INTERNAL_TAG} --build-arg SPACK_ORGREPO=${SPACK_ORGREPO} - --build-arg SPACK_VERSION=${SPACK_VERSION} + ${IF_BUILD_DEFAULT:+ + --build-arg SPACK_VERSION=${SPACK_VERSION} + } --build-arg SPACK_CHERRYPICKS="${SPACK_CHERRYPICKS}" --build-arg EICSPACK_ORGREPO=${EICSPACK_ORGREPO} - --build-arg EICSPACK_VERSION=${EICSPACK_VERSION} + ${IF_BUILD_DEFAULT:+ + --build-arg EICSPACK_VERSION=${EICSPACK_VERSION} + } --build-arg EICSPACK_CHERRYPICKS="${EICSPACK_CHERRYPICKS}" --build-arg S3_ACCESS_KEY=${S3_ACCESS_KEY} --build-arg S3_SECRET_KEY=${S3_SECRET_KEY} @@ -291,7 +319,7 @@ jug_xl:default: stage: jug needs: - version - - jug_dev:default + - jug_dev script: - docker buildx build --push ${BUILD_OPTIONS} --tag ${CI_REGISTRY}/${CI_PROJECT_PATH}/${BUILD_IMAGE}:${INTERNAL_TAG} @@ -331,7 +359,7 @@ jug_xl:nightly: - when: never needs: - version - - jug_dev:default + - jug_dev script: - | PUSH_NIGHTLY_WITH_DATE="" @@ -412,7 +440,7 @@ jug_dev:singularity:default: extends: .singularity needs: - version - - jug_dev:default + - jug_dev variables: BUILD_IMAGE: "jug_dev"