
Currently, environments can end up with higher priority than `-C` custom config scopes and `-c` command line arguments sometimes. This shouldn't happen -- those explicit CLI scopes should override active environments. Up to now configuration behaved like a stack, where scopes could be only be pushed at the top. This PR allows to assign priorities to scopes, and ensures that scopes of lower priorities are always "below" scopes of higher priorities. When scopes have the same priority, what matters is the insertion order. Modifications: - [x] Add a mapping that iterates over keys according to priorities set when adding the key/value pair - [x] Use that mapping to allow assigning priorities to configuration scopes - [x] Assign different priorities for different kind of scopes, to fix a bug, and add a regression test - [x] Simplify `Configuration` constructor - [x] Remove `Configuration.pop_scope` - [x] Remove `unify:false` from custom `-C` scope in pipelines On the last modification: on `develop`, pipelines are relying on the environment being able to override `-C` scopes, which is a bug. After this fix, we need to be explicit about the unification strategy in each stack, and remove the blanket `unify:false` from the highest priority scope Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
56 lines
902 B
YAML
56 lines
902 B
YAML
spack:
|
|
view: false
|
|
concretizer:
|
|
unify: false
|
|
packages:
|
|
all:
|
|
providers:
|
|
blas:
|
|
- openblas
|
|
mkl:
|
|
- intel-oneapi-mkl
|
|
mpi:
|
|
- openmpi
|
|
- mpich
|
|
variants: +mpi cuda_arch=70
|
|
require: target=x86_64_v3
|
|
|
|
definitions:
|
|
- radiuss:
|
|
- ascent
|
|
- blt
|
|
- caliper
|
|
- caliper +cuda
|
|
- camp
|
|
- camp +cuda
|
|
- chai
|
|
- chai +cuda +raja
|
|
- mfem
|
|
- mfem +superlu-dist+petsc+sundials
|
|
- mfem +cuda ^hypre+cuda
|
|
- raja
|
|
- raja +cuda
|
|
- umpire
|
|
- umpire +cuda
|
|
|
|
- compiler:
|
|
- '%gcc@7.3.1'
|
|
|
|
- target:
|
|
- 'target=x86_64_v3'
|
|
|
|
specs:
|
|
|
|
- matrix:
|
|
- - $radiuss
|
|
- - $compiler
|
|
- - $target
|
|
|
|
ci:
|
|
pipeline-gen:
|
|
- build-job:
|
|
image: { "name": "ghcr.io/spack/e4s-amazonlinux-2:v2023-03-09", "entrypoint": [""] }
|
|
|
|
cdash:
|
|
build-group: RADIUSS AWS Packages
|