Skip to content

Commit

Permalink
Merge pull request #1025 from aurianer/add_santis_runner_pipeline
Browse files Browse the repository at this point in the history
Add santis runner pipeline
  • Loading branch information
msimberg authored Mar 8, 2024
2 parents b00bccb + 436b7e0 commit 797f072
Show file tree
Hide file tree
Showing 21 changed files with 144 additions and 63 deletions.
4 changes: 3 additions & 1 deletion .gitlab/docker/Dockerfile.spack_compiler
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,10 @@ SHELL ["/bin/bash", "-c"]
# Disable host compatibility to be able to compile for other architectures than the one from the
# CSCS CI's .container-builder
# Allow installing deprecated packages (needed for apex)
# Use curl as the fetch method to try to avoid fetch errors on santis
RUN spack config --scope site add concretizer:targets:host_compatible:false && \
spack config --scope site add config:deprecated:true
spack config --scope site add config:deprecated:true && \
spack config --scope site add config:url_fetch_method:curl

# Install compiler if not already installed, modify packages.yaml to require spack compilers
ARG SPACK_ARCH
Expand Down
6 changes: 3 additions & 3 deletions .gitlab/includes/clang11_pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,19 +21,19 @@ include:
clang11_spack_compiler_image:
extends:
- .variables_clang11_config
- .compiler_image_template
- .compiler_image_template_rosa

clang11_spack_image:
needs: [clang11_spack_compiler_image]
extends:
- .variables_clang11_config
- .dependencies_image_template
- .dependencies_image_template_rosa

clang11_build:
needs: [clang11_spack_image]
extends:
- .variables_clang11_config
- .build_template
- .build_template_rosa

.clang11_test_commmon:
needs: [clang11_build]
Expand Down
6 changes: 3 additions & 3 deletions .gitlab/includes/clang12_pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,19 +25,19 @@ include:
clang12_spack_compiler_image:
extends:
- .variables_clang12_config
- .compiler_image_template
- .compiler_image_template_rosa

clang12_spack_image:
needs: [clang12_spack_compiler_image]
extends:
- .variables_clang12_config
- .dependencies_image_template
- .dependencies_image_template_rosa

clang12_build:
needs: [clang12_spack_image]
extends:
- .variables_clang12_config
- .build_template
- .build_template_rosa

.clang12_test_commmon:
needs: [clang12_build]
Expand Down
6 changes: 3 additions & 3 deletions .gitlab/includes/clang13_pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,19 +23,19 @@ include:
clang13_spack_compiler_image:
extends:
- .variables_clang13_config
- .compiler_image_template
- .compiler_image_template_rosa

clang13_spack_image:
needs: [clang13_spack_compiler_image]
extends:
- .variables_clang13_config
- .dependencies_image_template
- .dependencies_image_template_rosa

clang13_build:
needs: [clang13_spack_image]
extends:
- .variables_clang13_config
- .build_template
- .build_template_rosa

.clang13_test_commmon:
needs: [clang13_build]
Expand Down
6 changes: 3 additions & 3 deletions .gitlab/includes/clang14_cuda11_pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,19 +23,19 @@ include:
clang14_cuda11_spack_compiler_image:
extends:
- .variables_clang14_cuda11_config
- .compiler_image_template
- .compiler_image_template_rosa

clang14_cuda11_spack_image:
needs: [clang14_cuda11_spack_compiler_image]
extends:
- .variables_clang14_cuda11_config
- .dependencies_image_template
- .dependencies_image_template_rosa

clang14_cuda11_build:
needs: [clang14_cuda11_spack_image]
extends:
- .variables_clang14_cuda11_config
- .build_template
- .build_template_rosa

.clang14_cuda11_test_commmon:
needs: [clang14_cuda11_build]
Expand Down
6 changes: 3 additions & 3 deletions .gitlab/includes/clang15_pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,19 +22,19 @@ include:
clang15_spack_compiler_image:
extends:
- .variables_clang15_config
- .compiler_image_template
- .compiler_image_template_rosa

clang15_spack_image:
needs: [clang15_spack_compiler_image]
extends:
- .variables_clang15_config
- .dependencies_image_template
- .dependencies_image_template_rosa

clang15_build:
needs: [clang15_spack_image]
extends:
- .variables_clang15_config
- .build_template
- .build_template_rosa

.clang15_test_commmon:
needs: [clang15_build]
Expand Down
6 changes: 3 additions & 3 deletions .gitlab/includes/clang16_pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,19 +21,19 @@ include:
clang16_spack_compiler_image:
extends:
- .variables_clang16_config
- .compiler_image_template
- .compiler_image_template_rosa

clang16_spack_image:
needs: [clang16_spack_compiler_image]
extends:
- .variables_clang16_config
- .dependencies_image_template
- .dependencies_image_template_rosa

clang16_build:
needs: [clang16_spack_image]
extends:
- .variables_clang16_config
- .build_template
- .build_template_rosa

.clang16_test_commmon:
needs: [clang16_build]
Expand Down
6 changes: 3 additions & 3 deletions .gitlab/includes/clang17_pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,19 +21,19 @@ include:
clang17_spack_compiler_image:
extends:
- .variables_clang17_config
- .compiler_image_template
- .compiler_image_template_rosa

clang17_spack_image:
needs: [clang17_spack_compiler_image]
extends:
- .variables_clang17_config
- .dependencies_image_template
- .dependencies_image_template_rosa

clang17_build:
needs: [clang17_spack_image]
extends:
- .variables_clang17_config
- .build_template
- .build_template_rosa

.clang17_test_commmon:
needs: [clang17_build]
Expand Down
60 changes: 49 additions & 11 deletions .gitlab/includes/common_spack_pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,16 @@ include:
variables:
SPACK_COMMIT: 6cfcbc01679ebabe640f4462c8fc07626a543015

base_spack_image:
.base_spack_image:
stage: spack_base
timeout: 2 hours
extends: .container-builder
before_script:
- export DOCKERFILE_SHA=`sha256sum $DOCKERFILE | head -c 16`
- export CONFIG_TAG=`echo $DOCKERFILE_SHA-$BASE_IMAGE-$SPACK_COMMIT | sha256sum - | head -c 16`
- export PERSIST_IMAGE_NAME=$CSCS_REGISTRY_PATH/pika-spack-base:$CONFIG_TAG
- echo -e "BASE_IMAGE=$PERSIST_IMAGE_NAME" >> base.env
- export PERSIST_IMAGE_NAME=$CSCS_REGISTRY_PATH/$ARCH/pika-spack-base:$CONFIG_TAG
- arch_upper=`echo $ARCH | tr '[:lower:]' '[:upper:]'`
- echo -e "CONFIG_TAG=$CONFIG_TAG" >> base.env
- echo -e "BASE_IMAGE_$arch_upper=$PERSIST_IMAGE_NAME" >> base.env
variables:
BASE_IMAGE: docker.io/ubuntu:22.04
DOCKERFILE: .gitlab/docker/Dockerfile.spack_base
Expand All @@ -27,11 +28,33 @@ base_spack_image:
reports:
dotenv: base.env

# We allow failure since santis is unstable
base_spack_image_aarch64:
extends: [.container-builder-cscs-gh200, .base_spack_image]
allow_failure: true
base_spack_image_x86_64:
extends: [.container-builder-cscs-zen2, .base_spack_image]

make_multiarch_image:
stage: spack_base
needs:
- job: base_spack_image_aarch64
optional: true
- job: base_spack_image_x86_64
extends: .make-multiarch-image
after_script:
- echo -e "BASE_IMAGE=$PERSIST_IMAGE_NAME" >> multiarch.env
variables:
PERSIST_IMAGE_NAME: $CSCS_REGISTRY_PATH/pika-spack-base:${CONFIG_TAG}
PERSIST_IMAGE_NAME_AARCH64: $BASE_IMAGE_AARCH64
PERSIST_IMAGE_NAME_X86_64: $BASE_IMAGE_X86_64
artifacts:
reports:
dotenv: multiarch.env

.compiler_image_template:
stage: spack_compiler
needs: [base_spack_image]
extends:
- .container-builder
needs: [make_multiarch_image]
before_script:
- export DOCKERFILE_SHA=`sha256sum $DOCKERFILE | head -c 16`
- compiler=${COMPILER}${NVHPC_COMPILER:+-}${NVHPC_COMPILER}
Expand All @@ -47,10 +70,14 @@ base_spack_image:
reports:
dotenv: compiler.env

.compiler_image_template_santis:
extends: [.container-builder-cscs-gh200, .compiler_image_template]

.compiler_image_template_rosa:
extends: [.container-builder-cscs-zen2, .compiler_image_template]

.dependencies_image_template:
stage: spack_dependencies
extends:
- .container-builder
before_script:
- export DOCKERFILE_SHA=`sha256sum $DOCKERFILE | head -c 16`
- CONFIG_TAG=`echo $DOCKERFILE_SHA-$BASE_IMAGE-$SPACK_SPEC | sha256sum - | head -c 16`
Expand All @@ -64,6 +91,12 @@ base_spack_image:
reports:
dotenv: dependencies.env

.dependencies_image_template_santis:
extends: [.container-builder-cscs-gh200, .dependencies_image_template]

.dependencies_image_template_rosa:
extends: [.container-builder-cscs-zen2, .dependencies_image_template]

.parallel_build_types:
parallel:
matrix:
Expand All @@ -76,15 +109,14 @@ base_spack_image:
.build_template:
stage: build
extends:
- .container-builder
- .build_variables_common
- .cmake_variables_common
- .parallel_build_types
before_script:
- export DOCKERFILE_SHA=`sha256sum $DOCKERFILE | head -c 16`
- build_type=`echo $BUILD_TYPE | tr '[:upper:]' '[:lower:]'`
- build_type_upper=`echo $BUILD_TYPE | tr '[:lower:]' '[:upper:]'`
- configuration=$DOCKERFILE_SHA-$BASE_IMAGE-$BUILD_DIR-$CMAKE_COMMON_FLAGS-$CMAKE_FLAGS-$CI_COMMIT_SHORT_SHA-$SOURCE_DIR
- configuration=$DOCKERFILE_SHA-$BASE_IMAGE-$BUILD_DIR-$CMAKE_COMMON_FLAGS-$CMAKE_FLAGS-$CI_COMMIT_SHORT_SHA-$SOURCE_DIR-$ARCH
- configuration=${configuration//-D/}
- CONFIG_TAG=`echo $configuration | sha256sum - | head -c 16`
- export PERSIST_IMAGE_NAME=$CSCS_REGISTRY_PATH/pika-$compiler-$build_type-build:$CONFIG_TAG
Expand All @@ -93,6 +125,12 @@ base_spack_image:
reports:
dotenv: "$DOTENV_FILE"

.build_template_santis:
extends: [.container-builder-cscs-gh200, .build_template]

.build_template_rosa:
extends: [.container-builder-cscs-zen2, .build_template]

.test_template:
extends:
- .cmake_variables_common
Expand Down
6 changes: 3 additions & 3 deletions .gitlab/includes/gcc10_apex_pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,19 +21,19 @@ include:
gcc10_apex_spack_compiler_image:
extends:
- .variables_gcc10_apex_config
- .compiler_image_template
- .compiler_image_template_rosa

gcc10_apex_spack_image:
needs: [gcc10_apex_spack_compiler_image]
extends:
- .variables_gcc10_apex_config
- .dependencies_image_template
- .dependencies_image_template_rosa

gcc10_apex_build:
needs: [gcc10_apex_spack_image]
extends:
- .variables_gcc10_apex_config
- .build_template
- .build_template_rosa

.gcc10_apex_test_commmon:
needs: [gcc10_apex_build]
Expand Down
6 changes: 3 additions & 3 deletions .gitlab/includes/gcc11_pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,18 +21,18 @@ include:
gcc11_spack_compiler_image:
extends:
- .variables_gcc11_config
- .compiler_image_template
- .compiler_image_template_rosa

gcc11_spack_image:
needs: [gcc11_spack_compiler_image]
extends:
- .variables_gcc11_config
- .dependencies_image_template
- .dependencies_image_template_rosa

gcc11_build:
needs: [gcc11_spack_image]
extends:
- .build_template
- .build_template_rosa
- .variables_gcc11_config

.gcc11_test_commmon:
Expand Down
6 changes: 3 additions & 3 deletions .gitlab/includes/gcc12_cuda12_pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,21 +24,21 @@ include:
gcc12_cuda12_spack_compiler_image:
extends:
- .variables_gcc12_cuda12_config
- .compiler_image_template
- .compiler_image_template_rosa

gcc12_cuda12_spack_image:
needs: [gcc12_cuda12_spack_compiler_image]
extends:
- .variables_gcc12_cuda12_config
- .dependencies_image_template
- .dependencies_image_template_rosa

# Test step currently commented as the cuda driver is too old on clariden:
# https://github.com/pika-org/pika/issues/884
#gcc12_cuda12_build:
# needs: [gcc12_cuda12_spack_image]
# extends:
# - .variables_gcc12_cuda12_config
# - .build_template
# - .build_template_rosa
#
#.gcc12_cuda12_test_commmon:
# needs: [gcc12_cuda12_build]
Expand Down
6 changes: 3 additions & 3 deletions .gitlab/includes/gcc12_hip5_pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,20 +23,20 @@ include:
gcc12_hip5_spack_compiler_image:
extends:
- .variables_gcc12_hip5_config
- .compiler_image_template
- .compiler_image_template_rosa

gcc12_hip5_spack_image:
timeout: 4 hours
needs: [gcc12_hip5_spack_compiler_image]
extends:
- .variables_gcc12_hip5_config
- .dependencies_image_template
- .dependencies_image_template_rosa

gcc12_hip5_build:
needs: [gcc12_hip5_spack_image]
extends:
- .variables_gcc12_hip5_config
- .build_template
- .build_template_rosa

.gcc12_hip5_test_commmon:
needs: [gcc12_hip5_build]
Expand Down
Loading

0 comments on commit 797f072

Please sign in to comment.