Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# yaml-language-server: $schema=gitlab-ci
# yaml-language-server: $format.enable=false
stages:
- environment
- 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 == "release/*/v*"
variables:
BUILDCACHE: /scratch/richart/buildcache
# ------------------------------------------------------------------------------
.parallel_job:
parallel:
matrix:
- environment: [helvetios]
slurm_options: ["-c 36"]
# - environment: [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 --writable-tmpfs
.setup_spack:
cache:
key: extra-repos-${environment}
paths:
- /stack/extra_repos
before_script:
- /opt/spack/bin/spack gpg trust $GPG_PRIVATE_KEY
# ------------------------------------------------------------------------------
spack:setup:
stage:
- environment
- .parallel_job
- .setup_spack
script:
- >
if [ ! -d /buildcache/build_cache ]; then
/opt/spack/bin/spack gpg publish -d /buildcache
fi
- mkdir -p /stack/extra_repos
- cd /stack/extra_repos
- git clone https://gitlab.epfl.ch/SCITAS/software-stack/spack-repo-externals.git
- git clone https://gitlab.epfl.ch/SCITAS/software-stack/scitas-spack-packages.git
spack:concretize:
stage:
- concretize
- .parallel_job
- .setup_spack
script:
- /opt/spack/bin/spack -e . concretize
needs:
- job: spack:setup
artefacts:
paths:
- spack.lock
spack:install:
stage:
- install