Skip to content
This repository was archived by the owner on Mar 20, 2023. It is now read-only.

Commit c1093ba

Browse files
authored
GitLab CI: exploit new features. (#774)
* hpc/gitlab-pipelines!52 changed how PACKAGE_{BRANCH,COMMIT,TAG} variables are handled. Now we can propagate *_COMMIT from the CoreNEURON spack_setup job to the child BlueConfigs pipeline using a combination of SPACK_ENV_FILE_URL and SPACK_SETUP_COMMIT_MAPPING_URL. * New SPACK_PACKAGE_DEPENDENCIES feature lets us avoid some .reference magic. * Document SPACK_BRANCH and SPACK_DEPLOYMENT_SUFFIX globals so it's more convenient to launch pipelines manually.
1 parent 217321f commit c1093ba

File tree

1 file changed

+10
-18
lines changed

1 file changed

+10
-18
lines changed

.gitlab-ci.yml

Lines changed: 10 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,12 @@ variables:
1313
NMODL_BRANCH:
1414
description: Branch of NMODL to build CoreNEURON against (NMODL_COMMIT and NMODL_TAG also possible)
1515
value: master
16+
SPACK_BRANCH:
17+
description: Branch of BlueBrain Spack to use for the CI pipeline
18+
value: develop
19+
SPACK_DEPLOYMENT_SUFFIX:
20+
description: Extra path component used when finding deployed software. Set to something like `pulls/1497` use software built for https://github.com/BlueBrain/spack/pull/1497. You probably want to set SPACK_BRANCH to the branch used in the relevant PR if you set this.
21+
value: ''
1622

1723
# Set up Spack
1824
spack_setup:
@@ -27,25 +33,12 @@ simulation_stack:
2733
stage: .pre
2834
# Take advantage of GitHub PR description parsing in the spack_setup job.
2935
needs: [spack_setup]
30-
variables:
31-
CORENEURON_BRANCH: $CI_COMMIT_BRANCH
32-
MODELS_COMMON_BRANCH: $MODELS_COMMON_BRANCH
33-
NEURON_BRANCH: $NEURON_BRANCH
34-
PYNEURODAMUS_BRANCH: $PYNEURODAMUS_BRANCH
35-
REPORTINGLIB_BRANCH: $REPORTINGLIB_BRANCH
36-
SPACK_BRANCH: $SPACK_BRANCH
37-
SYNAPSETOOL_BRANCH: $SYNAPSETOOL_BRANCH
38-
LIBSONATAREPORT_BRANCH: $LIBSONATAREPORT_BRANCH
39-
NEURODAMUS_CORE_BRANCH: $NEURODAMUS_CORE_BRANCH
40-
NEURODAMUS_HIPPOCAMPUS_BRANCH: $NEURODAMUS_HIPPOCAMPUS_BRANCH
41-
NEURODAMUS_MOUSIFY_BRANCH: $NEURODAMUS_MOUSIFY_BRANCH
42-
NEURODAMUS_NEOCORTEX_BRANCH: $NEURODAMUS_NEOCORTEX_BRANCH
43-
NEURODAMUS_THALAMUS_BRANCH: $NEURODAMUS_THALAMUS_BRANCH
44-
4536
trigger:
4637
project: hpc/sim/blueconfigs
4738
# CoreNEURON CI status depends on the BlueConfigs CI status.
4839
strategy: depend
40+
variables:
41+
SPACK_ENV_FILE_URL: $SPACK_SETUP_COMMIT_MAPPING_URL
4942

5043
# Performance seems to be terrible when we get too many jobs on a single node.
5144
.build:
@@ -103,7 +96,7 @@ build:coreneuron:mod2c:nvhpc:acc:unified:
10396

10497
.build_coreneuron_nmodl:
10598
extends: [.build]
106-
before_script:
99+
variables:
107100
# NEURON depends on py-mpi4py, most of whose dependencies are pulled in by
108101
# nmodl%gcc, with the exception of MPI, which is pulled in by
109102
# coreneuron%{nvhpc,intel}. hpe-mpi is an external package anyway, so
@@ -112,8 +105,7 @@ build:coreneuron:mod2c:nvhpc:acc:unified:
112105
# means that in the NEURON step an existing py-mpi4py%gcc can be used.
113106
# Otherwise a new py-mpi4py with hpe-mpi%{nvhpc,intel} will be built.
114107
# TODO: fix this more robustly so we don't have to play so many games.
115-
- SPACK_PACKAGE_DEPENDENCIES="${SPACK_PACKAGE_DEPENDENCIES}^hpe-mpi%gcc"
116-
- !reference [.spack_build, before_script]
108+
SPACK_PACKAGE_DEPENDENCIES: ^hpe-mpi%gcc
117109

118110
build:coreneuron:nmodl:nvhpc:omp:
119111
extends: [.build_coreneuron_nmodl, .spack_nvhpc]

0 commit comments

Comments
 (0)