-
Nicolas Richart authoredNicolas Richart authored
.gitlab-ci.yml 2.89 KiB
# yaml-language-server: $schema=gitlab-ci
# yaml-language-server: $format.enable=false
stages:
- environment
- compilers
- concretize
- install
- deploy
workflow:
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
- if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS
when: never
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
variables:
TERM: ansi
# ------------------------------------------------------------------------------
.parallel_job:
image: registry.c4science.ch/scitas-stack/rhel:9.3
parallel:
matrix:
# - environment: [helvetios]
# slurm_options: ["-c 36"]
- environment: [jed]
slurm_options: ["-c 72 -p jed -q jed"]
# - environment: [izar]
# slurm_options: ['-c 40 --gres gpu:2']
# apptainer_options: ['-nv']
tags:
- ${environment}
- stack
variables:
COMMAND_OPTIONS_SBATCH: ${slurm_options}
APPTAINER_EXEC_OPTIONS: ${apptainer_options} --bind ${BUILDCACHE}:/buildcache:rw
SPACK_USER_CACHE_PATH: "/tmp/spack_cache_${CI_JOB_ID}"
SPACK_USER_CONFIG_PATH: "/tmp/spack_user_${CI_JOB_ID}"
SPACK_SYSTEM_CONFIG_PATH: "/stack/spack/etc"
BUILDCACHE: "/work/scitas-ge/richart/ci/buildcache"
.spack_cache:
cache:
key: ${environment}-spack-cache
policy: pull-push
paths:
- spack/
- compiler_definitions.yaml
.stack_prepare_save:
before_script:
- if [ -e stack.tgz ]; then
tar -xvz -f stack.tgz -C /
fi
after_script:
- tar -cvzf stack.tgz /stack
# ------------------------------------------------------------------------------
spack:setup:
stage: environment
extends:
- .spack_cache
- .parallel_job
before_script:
- git config --global --add --bool advice.detachedHead false
script:
- ci/setup_spack.sh
after_script: