diff options
Diffstat (limited to 'share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml')
-rw-r--r-- | share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml | 124 |
1 files changed, 37 insertions, 87 deletions
diff --git a/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml b/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml index 4b927a04ae..358d3af121 100644 --- a/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml +++ b/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml @@ -19,6 +19,11 @@ default: SPACK_TARGET_PLATFORM: "darwin" SPACK_TARGET_ARCH: "x86_64" +.darwin_aarch64: + variables: + SPACK_TARGET_PLATFORM: "darwin" + SPACK_TARGET_ARCH: "aarch64" + .linux_x86_64_v3: variables: SPACK_TARGET_PLATFORM: "linux" @@ -60,6 +65,8 @@ default: .base-job: variables: SPACK_BUILDCACHE_DESTINATION: "s3://spack-binaries/${CI_COMMIT_REF_NAME}/${SPACK_CI_STACK_NAME}" + SPACK_DISABLE_LOCAL_CONFIG: "1" + SPACK_USER_CACHE_PATH: "${CI_PROJECT_DIR}/tmp/_user_cache/" rules: - if: $CI_COMMIT_REF_NAME == "develop" # Pipelines on develop only rebuild what is missing from the mirror @@ -101,7 +108,7 @@ default: AWS_ACCESS_KEY_ID: ${PR_MIRRORS_AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY: ${PR_MIRRORS_AWS_SECRET_ACCESS_KEY} -.generate-base: +.generate-common: stage: generate script: - uname -a || true @@ -136,41 +143,17 @@ default: when: - always -.generate: - extends: [ ".base-job", ".generate-base" ] - tags: ["spack", "public", "medium", "x86_64"] - -.darwin-generate-base: - stage: generate - script: - - export SPACK_DISABLE_LOCAL_CONFIG=1 - - export SPACK_USER_CACHE_PATH=$(pwd)/_user_cache - - uname -a || true - - grep -E 'vendor|model name' /proc/cpuinfo 2>/dev/null | sort -u || head -n10 /proc/cpuinfo 2>/dev/null || true - - nproc || true - - . "./share/spack/setup-env.sh" - - spack --version - - cd share/spack/gitlab/cloud_pipelines/stacks/${SPACK_CI_STACK_NAME} - - spack env activate --without-view . - - spack -d ci generate --check-index-only - --buildcache-destination "${SPACK_BUILDCACHE_DESTINATION}" - --artifacts-root "${CI_PROJECT_DIR}/jobs_scratch_dir" - --output-file "${CI_PROJECT_DIR}/jobs_scratch_dir/cloud-ci-pipeline.yml" - after_script: - - cat /proc/loadavg || true - artifacts: - paths: - - "${CI_PROJECT_DIR}/jobs_scratch_dir" - interruptible: true - timeout: 60 minutes - retry: - max: 2 - when: - - always +# Generate without tags for cases using external runners +.generate-base: + extends: [ ".base-job", ".generate-common" ] -.darwin-generate: - extends: [ ".base-job", ".darwin-generate-base" ] +.generate-x86_64: + extends: [ ".generate-base" ] + tags: ["spack", "public", "medium", "x86_64"] +.generate-aarch64: + extends: [ ".generate-base" ] + tags: ["spack", "public", "medium", "aarch64"] .generate-deprecated: extends: [ ".base-job" ] @@ -204,10 +187,6 @@ default: - always tags: ["spack", "public", "medium", "x86_64"] -.generate-aarch64: - extends: [ ".base-job", ".generate" ] - tags: ["spack", "public", "medium", "aarch64"] - .build: extends: [ ".base-job" ] stage: build @@ -294,7 +273,7 @@ protected-publish: SPACK_CI_STACK_NAME: e4s e4s-generate: - extends: [ ".e4s", ".generate"] + extends: [ ".e4s", ".generate-x86_64"] image: ecpe4s/ubuntu20.04-runner-x86_64:2023-01-01 e4s-build: @@ -317,7 +296,7 @@ e4s-build: SPACK_CI_STACK_NAME: gpu-tests gpu-tests-generate: - extends: [ ".gpu-tests", ".generate"] + extends: [ ".gpu-tests", ".generate-x86_64"] image: ecpe4s/ubuntu20.04-runner-x86_64:2023-01-01 gpu-tests-build: @@ -340,7 +319,7 @@ gpu-tests-build: SPACK_CI_STACK_NAME: e4s-oneapi e4s-oneapi-generate: - extends: [ ".e4s-oneapi", ".generate"] + extends: [ ".e4s-oneapi", ".generate-x86_64"] image: ecpe4s/ubuntu20.04-runner-x86_64-oneapi:2023.07.21 e4s-oneapi-build: @@ -367,7 +346,7 @@ e4s-oneapi-build: SPACK_CI_STACK_NAME: e4s-power e4s-power-generate: - extends: [ ".e4s-power", ".generate", ".e4s-power-generate-tags-and-image"] + extends: [ ".e4s-power", ".generate-x86_64", ".e4s-power-generate-tags-and-image"] e4s-power-build: extends: [ ".e4s-power", ".build" ] @@ -389,7 +368,7 @@ e4s-power-build: SPACK_CI_STACK_NAME: build_systems build_systems-generate: - extends: [ ".build_systems", ".generate"] + extends: [ ".build_systems", ".generate-x86_64"] build_systems-build: extends: [ ".build_systems", ".build" ] @@ -411,7 +390,7 @@ build_systems-build: SPACK_CI_STACK_NAME: radiuss radiuss-generate: - extends: [ ".radiuss", ".generate" ] + extends: [ ".radiuss", ".generate-x86_64" ] radiuss-build: extends: [ ".radiuss", ".build" ] @@ -443,7 +422,7 @@ radiuss-build: SPACK_CI_STACK_NAME: radiuss-aws radiuss-aws-generate: - extends: [ ".radiuss-aws", ".generate", ".radiuss-aws-overrides", ".tags-x86_64_v4" ] + extends: [ ".radiuss-aws", ".generate-x86_64", ".radiuss-aws-overrides", ".tags-x86_64_v4" ] radiuss-aws-build: extends: [ ".radiuss-aws", ".build" ] @@ -487,7 +466,7 @@ radiuss-aws-aarch64-build: SPACK_CI_STACK_NAME: data-vis-sdk data-vis-sdk-generate: - extends: [ ".data-vis-sdk", ".generate"] + extends: [ ".data-vis-sdk", ".generate-x86_64"] image: ecpe4s/ubuntu20.04-runner-x86_64:2023-01-01 data-vis-sdk-build: @@ -517,7 +496,7 @@ data-vis-sdk-build: SPACK_CI_STACK_NAME: aws-isc aws-isc-generate: - extends: [ ".aws-isc", ".generate", ".aws-isc-overrides", ".tags-x86_64_v4" ] + extends: [ ".aws-isc", ".generate-x86_64", ".aws-isc-overrides", ".tags-x86_64_v4" ] aws-isc-build: extends: [ ".aws-isc", ".build" ] @@ -561,7 +540,7 @@ aws-isc-aarch64-build: SPACK_CI_STACK_NAME: tutorial tutorial-generate: - extends: [ ".tutorial", ".generate"] + extends: [ ".tutorial", ".generate-x86_64"] image: ghcr.io/spack/tutorial-ubuntu-22.04:v2023-05-07 tutorial-build: @@ -584,7 +563,7 @@ tutorial-build: SPACK_CI_STACK_NAME: ml-linux-x86_64-cpu ml-linux-x86_64-cpu-generate: - extends: [ ".generate", .ml-linux-x86_64-cpu, ".tags-x86_64_v4" ] + extends: [ ".generate-x86_64", .ml-linux-x86_64-cpu, ".tags-x86_64_v4" ] image: ghcr.io/spack/linux-ubuntu22.04-x86_64_v2:nightly ml-linux-x86_64-cpu-build: @@ -607,7 +586,7 @@ ml-linux-x86_64-cpu-build: SPACK_CI_STACK_NAME: ml-linux-x86_64-cuda ml-linux-x86_64-cuda-generate: - extends: [ ".generate", .ml-linux-x86_64-cuda, ".tags-x86_64_v4" ] + extends: [ ".generate-x86_64", .ml-linux-x86_64-cuda, ".tags-x86_64_v4" ] image: ghcr.io/spack/linux-ubuntu22.04-x86_64_v2:nightly ml-linux-x86_64-cuda-build: @@ -630,7 +609,7 @@ ml-linux-x86_64-cuda-build: SPACK_CI_STACK_NAME: ml-linux-x86_64-rocm ml-linux-x86_64-rocm-generate: - extends: [ ".generate", .ml-linux-x86_64-rocm, ".tags-x86_64_v4" ] + extends: [ ".generate-x86_64", .ml-linux-x86_64-rocm, ".tags-x86_64_v4" ] image: ghcr.io/spack/linux-ubuntu22.04-x86_64_v2:nightly ml-linux-x86_64-rocm-build: @@ -648,12 +627,13 @@ ml-linux-x86_64-rocm-build: # Machine Learning - Darwin aarch64 (MPS) ######################################## .ml-darwin-aarch64-mps: + extends: [".darwin_aarch64"] variables: SPACK_CI_STACK_NAME: ml-darwin-aarch64-mps ml-darwin-aarch64-mps-generate: tags: [ "macos-ventura", "apple-clang-14", "aarch64-macos" ] - extends: [ ".ml-darwin-aarch64-mps", ".darwin-generate"] + extends: [ ".ml-darwin-aarch64-mps", ".generate-base"] ml-darwin-aarch64-mps-build: extends: [ ".ml-darwin-aarch64-mps", ".build" ] @@ -717,7 +697,7 @@ deprecated-ci-build: SPACK_CI_STACK_NAME: aws-pcluster-icelake # aws-pcluster-generate-icelake: -# extends: [ ".linux_icelake", ".aws-pcluster-icelake", ".generate", ".tags-x86_64_v4", ".aws-pcluster-generate", ".aws-pcluster-generate-image" ] +# extends: [ ".linux_icelake", ".aws-pcluster-icelake", ".generate-x86_64", ".tags-x86_64_v4", ".aws-pcluster-generate", ".aws-pcluster-generate-image" ] # aws-pcluster-build-icelake: # extends: [ ".linux_icelake", ".aws-pcluster-icelake", ".build" ] @@ -736,7 +716,7 @@ deprecated-ci-build: SPACK_CI_STACK_NAME: aws-pcluster-skylake # aws-pcluster-generate-skylake: -# extends: [ ".linux_skylake", ".aws-pcluster-skylake", ".generate", ".tags-x86_64_v4", ".aws-pcluster-generate", ".aws-pcluster-generate-image" ] +# extends: [ ".linux_skylake", ".aws-pcluster-skylake", ".generate-x86_64", ".tags-x86_64_v4", ".aws-pcluster-generate", ".aws-pcluster-generate-image" ] # aws-pcluster-build-skylake: # extends: [ ".linux_skylake", ".aws-pcluster-skylake", ".build" ] @@ -810,42 +790,12 @@ deprecated-ci-build: SPACK_PRUNE_UNTOUCHED_DEPENDENT_DEPTH: "1" .generate-cray: - extends: [ ".base-cray-job" ] + extends: [ ".generate-common", ".base-cray-job" ] stage: generate - script: + before_script: - echo $PATH - module avail - module list - - export SPACK_DISABLE_LOCAL_CONFIG=1 - - export SPACK_USER_CACHE_PATH=$(pwd)/_user_cache - - uname -a || true - - grep -E 'vendor|model name' /proc/cpuinfo 2>/dev/null | sort -u || head -n10 /proc/cpuinfo 2>/dev/null || true - - nproc || true - - . "./share/spack/setup-env.sh" - - spack --version - - cd share/spack/gitlab/cloud_pipelines/stacks/${SPACK_CI_STACK_NAME} - - spack env activate --without-view . - - export SPACK_CI_CONFIG_ROOT="${SPACK_ROOT}/share/spack/gitlab/cloud_pipelines/configs" - - spack - --config-scope "${SPACK_CI_CONFIG_ROOT}" - --config-scope "${SPACK_CI_CONFIG_ROOT}/${SPACK_TARGET_PLATFORM}" - --config-scope "${SPACK_CI_CONFIG_ROOT}/${SPACK_TARGET_PLATFORM}/${SPACK_TARGET_ARCH}" - ${CI_STACK_CONFIG_SCOPES} - ci generate --check-index-only - --buildcache-destination "${SPACK_BUILDCACHE_DESTINATION}" - --artifacts-root "${CI_PROJECT_DIR}/jobs_scratch_dir" - --output-file "${CI_PROJECT_DIR}/jobs_scratch_dir/cloud-ci-pipeline.yml" - after_script: - - cat /proc/loadavg || true - artifacts: - paths: - - "${CI_PROJECT_DIR}/jobs_scratch_dir" - interruptible: true - timeout: 60 minutes - retry: - max: 2 - when: - - always .generate-cray-rhel: tags: [ "cray-rhel-zen4", "public" ] @@ -903,4 +853,4 @@ e4s-cray-sles-build: strategy: depend needs: - artifacts: True - job: e4s-cray-sles-generate
\ No newline at end of file + job: e4s-cray-sles-generate |