From 6537caba7cef4cac0ec27c10865969bc82a8546a Mon Sep 17 00:00:00 2001 From: Nicolas Richart <nicolas.richart@epfl.ch> Date: Wed, 24 Jan 2024 12:57:08 +0100 Subject: [PATCH] Adding a step to install compilers --- .gitlab-ci.yml | 30 +++++++++++++++++++++++++++++- config.json | 6 ++++++ dockerfiles/rhel9/Dockerfile | 2 +- spack.yaml | 5 +---- 4 files changed, 37 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 84e5cb1..4494496 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -20,7 +20,7 @@ variables: STACK_PATH: "/work/scitas-ge/richart/ci_cache/stack" SPACK_DISABLE_LOCAL_CONFIG: "true" SPACK_USER_CACHE_PATH: "/tmp/spack_cache" - + SPACK_SITE_CONFIG_PATH: "/stack/spack/etc" # ------------------------------------------------------------------------------ .parallel_job: image: registry.c4science.ch/scitas-stack/rhel:9.3 @@ -85,7 +85,35 @@ spack:setup: /spack/spack/bin/spack gpg publish -d /buildcache fi + - mkdir /stack/spack/etc + + +spack:install_compilers: + stage: environment + extends: + - .parallel_job + script: + - COMPILER_LIST_SPECS=$(jq -r '.stack.compilers | map("\(.spec)@\(.version)")[]' config.json) + - /spack/spack/bin/spack install + --log-file spack-install.xml + --log-format junit + --fail-fast + --show-log-on-error + --use-cache + ${COMPILER_LIST_SPECS} + + - echo "definitions: [ compilers: [ ${COMPILER_LIST_SPECS} ]]" > compiler_definitions.yaml + + - /spack/spack/bin/spack compiler find --scope site /usr + + - | + for compiler in ${COMPILER_LIST_SPECS}; do + /spack/spack/bin/spack compiler find --scope site $(/spack/spack/bin/spack location -i ${compiler}) + done + artifacts: + reports: + junit: spack-install.xml spack:concretize: stage: concretize diff --git a/config.json b/config.json index 3ceb5e4..298d621 100644 --- a/config.json +++ b/config.json @@ -11,5 +11,11 @@ "branch": "releases/2024.0.0" } } + }, + "stack": { + "compilers": { + "gcc": { "spec": "gcc", "version": "12.2.0" }, + "intel": { "spec": "intel-oneapi-compilers", "version": "2024.0.2" } + } } } diff --git a/dockerfiles/rhel9/Dockerfile b/dockerfiles/rhel9/Dockerfile index 5f37fc4..c6b75f8 100644 --- a/dockerfiles/rhel9/Dockerfile +++ b/dockerfiles/rhel9/Dockerfile @@ -8,7 +8,7 @@ ENV SPACK_DISABLE_LOCAL_CONFIG=true \ RUN echo "10.95.33.172 foreman1.hpc.epfl.ch" >> /etc/hosts RUN curl -sS --insecure \ 'https://foreman1.hpc.epfl.ch/register?activation_keys=ak-helvetios&organization_id=1&update_packages=false' \ - -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjo2LCJpYXQiOjE3MDU1NzI0NjYsImp0aSI6IjdkYjE3ODU1NGRhOWVhOTAxYTJjZTY0MmQ5OTFjODAyYmQzZWU1NDI1YmNjYWY4ODY3NjAwNDYwMGE4YmEyNzYiLCJleHAiOjE3MDU1ODY4NjYsInNjb3BlIjoicmVnaXN0cmF0aW9uI2dsb2JhbCByZWdpc3RyYXRpb24jaG9zdCJ9.ilNKpgg__g5RHlDOuwDxtFiTMKLNc-JvPDyWrgy48Pc' \ + -H "'Authorization: Bearer ${RHEL_TOKEN}" \ | bash diff --git a/spack.yaml b/spack.yaml index 0298305..380a36a 100644 --- a/spack.yaml +++ b/spack.yaml @@ -3,12 +3,9 @@ spack: - mirrors.yaml - packages.yaml - repos.yaml + - compiler_definitions.yaml definitions: - - compilers: - - gcc@12.2.0 - - intel-oneapi-compilers - - when: env['environment'] == 'helvetios' serial_codes_per_cluster: - ucx +rdmacm +rc +dc +ud +cma +mlx5_dv +parameter_checking +thread_multiple +verbs ~cuda ~gdrcopy -- GitLab