pipelines: extract changes from compiler as nodes (#49222)

* Split requirements to get better error messages in case of unsat solves.
* use list requirements instead of string
* activate static_analysis in a few pipelines

Signed-off-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
This commit is contained in:
Massimiliano Culpo
2025-02-27 12:13:34 +01:00
committed by GitHub
parent 5da4f18188
commit 12fe7aef65
13 changed files with 249 additions and 223 deletions

View File

@@ -52,10 +52,12 @@ spack:
packages: packages:
acfl: acfl:
require: require:
- '%gcc target=aarch64' - "%gcc"
- "target=aarch64"
gromacs: gromacs:
require: require:
- gromacs@2024.3 %gcc ^armpl-gcc ^openmpi - gromacs@2024.3 ^armpl-gcc ^openmpi
- "%gcc"
libfabric: libfabric:
buildable: true buildable: true
externals: externals:
@@ -67,13 +69,14 @@ spack:
variants: ~lldb variants: ~lldb
mpas-model: mpas-model:
require: require:
- precision=single %gcc ^parallelio+pnetcdf - precision=single ^parallelio+pnetcdf
- "%gcc"
mpich: mpich:
require: require:
- mpich pmi=pmi2 device=ch4 netmod=ofi +slurm - mpich pmi=pmi2 device=ch4 netmod=ofi +slurm
nvhpc: nvhpc:
require: require:
- nvhpc %gcc target=aarch64 - "target=aarch64"
openfoam: openfoam:
require: require:
- openfoam ^scotch@6.0.9 - openfoam ^scotch@6.0.9
@@ -85,7 +88,7 @@ spack:
# require: # require:
# - one_of: ["palace cxxflags=\"-include cstdint\" ^fmt@9.1.0"] # - one_of: ["palace cxxflags=\"-include cstdint\" ^fmt@9.1.0"]
pmix: pmix:
require: 'pmix@3:' require: "pmix@3:"
quantum-espresso: quantum-espresso:
require: require:
- quantum-espresso@6.6 %gcc ^armpl-gcc - quantum-espresso@6.6 %gcc ^armpl-gcc

View File

@@ -82,6 +82,12 @@ spack:
require: require:
- lammps_sizes=bigbig +molecule +kspace +rigid +asphere +opt +openmp +openmp-package fft=mkl ^intel-oneapi-mkl - lammps_sizes=bigbig +molecule +kspace +rigid +asphere +opt +openmp +openmp-package fft=mkl ^intel-oneapi-mkl
- one_of: [+intel target=x86_64_v4, target=x86_64_v3] - one_of: [+intel target=x86_64_v4, target=x86_64_v3]
bison:
require:
- "%gcc"
boost:
require:
- "%gcc"
libfabric: libfabric:
buildable: true buildable: true
externals: externals:

View File

@@ -2,9 +2,10 @@ spack:
view: false view: false
packages: packages:
all: all:
require: target=x86_64_v3 require:
definitions: - target=x86_64_v3
- default_specs:
specs:
- 'uncrustify build_system=autotools' - 'uncrustify build_system=autotools'
- 'uncrustify build_system=cmake' - 'uncrustify build_system=cmake'
- lz4 # MakefilePackage - lz4 # MakefilePackage
@@ -14,13 +15,6 @@ spack:
- r-rcpp # RPackage - r-rcpp # RPackage
- ruby-rake # RubyPackage - ruby-rake # RubyPackage
- perl-data-dumper # PerlPackage - perl-data-dumper # PerlPackage
- arch:
- '%gcc'
specs:
- matrix:
- - $default_specs
- - $arch
cdash: cdash:
build-group: Build Systems build-group: Build Systems

View File

@@ -2,12 +2,16 @@ spack:
view: false view: false
packages: packages:
all: all:
require: target=aarch64 require:
- target=aarch64
prefer:
- '%gcc'
concretizer: concretizer:
unify: true unify: true
reuse: false reuse: false
definitions:
- default_specs: specs:
# editors # editors
- neovim~no_luajit - neovim~no_luajit
- py-pynvim - py-pynvim
@@ -68,14 +72,6 @@ spack:
- doxygen - doxygen
- meson - meson
- arch:
- '%gcc target=aarch64'
specs:
- matrix:
- - $default_specs
- - $arch
ci: ci:
pipeline-gen: pipeline-gen:
- build-job: - build-job:

View File

@@ -1,19 +1,20 @@
spack: spack:
view: false view: false
packages: packages:
all: all:
require: require:
- target=x86_64_v3 - target=x86_64_v3
- ~cuda - ~cuda
- ~rocm - ~rocm
prefer:
- "%gcc"
concretizer: concretizer:
unify: true unify: true
reuse: false reuse: false
static_analysis: true static_analysis: true
definitions: specs:
- default_specs:
# editors # editors
- neovim~no_luajit - neovim~no_luajit
- py-pynvim - py-pynvim
@@ -74,14 +75,6 @@ spack:
- doxygen - doxygen
- meson - meson
- arch:
- '%gcc target=x86_64_v3'
specs:
- matrix:
- - $default_specs
- - $arch
ci: ci:
pipeline-gen: pipeline-gen:
- build-job: - build-job:

View File

@@ -5,6 +5,7 @@ spack:
view: false view: false
concretizer: concretizer:
static_analysis: true
reuse: false reuse: false
unify: false unify: false
@@ -14,8 +15,9 @@ spack:
packages: packages:
all: all:
require: "%cce@18.0.0 target=x86_64_v3" require:
compiler: [cce] - target=x86_64_v3
- "%cce"
providers: providers:
blas: [cray-libsci] blas: [cray-libsci]
lapack: [cray-libsci] lapack: [cray-libsci]
@@ -23,6 +25,21 @@ spack:
tbb: [intel-tbb] tbb: [intel-tbb]
scalapack: [netlib-scalapack] scalapack: [netlib-scalapack]
variants: +mpi variants: +mpi
# Virtuals
blas:
require:
- cray-libsci
lapack:
require:
- cray-libsci
mpi:
require:
- cray-mpich
scalapack:
require:
- netlib-scalapack
ncurses: ncurses:
require: +termlib ldflags=-Wl,--undefined-version require: +termlib ldflags=-Wl,--undefined-version
tbb: tbb:
@@ -33,21 +50,28 @@ spack:
variants: +python +filesystem +iostreams +system variants: +python +filesystem +iostreams +system
elfutils: elfutils:
variants: ~nls variants: ~nls
require: "%gcc" require:
- target=x86_64_v3
- "%gcc"
gcc-runtime: gcc-runtime:
require: "%gcc" require:
- target=x86_64_v3
- "%gcc"
hdf5: hdf5:
variants: +fortran +hl +shared variants: +fortran +hl +shared
libfabric: libfabric:
variants: fabrics=sockets,tcp,udp,rxm variants: fabrics=sockets,tcp,udp,rxm
mgard: mgard:
require: require:
- target=x86_64_v3
- "@2023-01-10:" - "@2023-01-10:"
mpich: mpich:
variants: ~wrapperrpath variants: ~wrapperrpath
paraview: paraview:
# Don't build GUI support or GLX rendering for HPC/container deployments # Don't build GUI support or GLX rendering for HPC/container deployments
require: "~qt ^[virtuals=gl] osmesa" require:
- "~qt ^[virtuals=gl] osmesa"
- target=x86_64_v3
trilinos: trilinos:
require: require:
- one_of: [+amesos +amesos2 +anasazi +aztec +boost +epetra +epetraext +ifpack - one_of: [+amesos +amesos2 +anasazi +aztec +boost +epetra +epetraext +ifpack
@@ -58,6 +82,7 @@ spack:
- one_of: [~ml ~muelu ~zoltan2 ~teko, +ml +muelu +zoltan2 +teko] - one_of: [~ml ~muelu ~zoltan2 ~teko, +ml +muelu +zoltan2 +teko]
- one_of: [+superlu-dist, ~superlu-dist] - one_of: [+superlu-dist, ~superlu-dist]
- one_of: [+shylu, ~shylu] - one_of: [+shylu, ~shylu]
- target=x86_64_v3
specs: specs:
# CPU # CPU

View File

@@ -7,7 +7,9 @@ spack:
packages: packages:
all: all:
require: '%gcc target=neoverse_v2' require:
- "%gcc"
- target=neoverse_v2
providers: providers:
blas: [openblas] blas: [openblas]
mpi: [mpich] mpi: [mpich]

View File

@@ -4,12 +4,13 @@ spack:
concretizer: concretizer:
reuse: false reuse: false
unify: false unify: false
static_analysis: false
packages: packages:
all: all:
require: require:
- "target=x86_64_v3" - target=x86_64_v3
- "%oneapi" - '%oneapi'
providers: providers:
blas: [openblas] blas: [openblas]
tbb: [intel-tbb] tbb: [intel-tbb]
@@ -45,28 +46,36 @@ spack:
- spec: intel-oneapi-mpi@2021.13.1 - spec: intel-oneapi-mpi@2021.13.1
prefix: /opt/intel/oneapi prefix: /opt/intel/oneapi
unzip: unzip:
require: '%gcc target=x86_64_v3' require:
- '%gcc target=x86_64_v3'
binutils: binutils:
require: '%gcc target=x86_64_v3' require:
- '%gcc target=x86_64_v3'
variants: +ld +gold +headers +libiberty ~nls variants: +ld +gold +headers +libiberty ~nls
llvm: llvm:
require: '%gcc target=x86_64_v3' require:
- '%gcc target=x86_64_v3'
ruby: ruby:
require: '%gcc target=x86_64_v3' require:
- '%gcc target=x86_64_v3'
rust: rust:
require: '%gcc target=x86_64_v3' require:
- '%gcc target=x86_64_v3'
krb5: krb5:
require: '%gcc target=x86_64_v3' require:
papi: - '%gcc target=x86_64_v3'
require: '%gcc target=x86_64_v3'
openssh: openssh:
require: '%gcc target=x86_64_v3' require:
- '%gcc target=x86_64_v3'
dyninst: dyninst:
require: "%gcc target=x86_64_v3" require:
- '%gcc target=x86_64_v3'
bison: bison:
require: '%gcc target=x86_64_v3' require:
- '%gcc target=x86_64_v3'
paraview: paraview:
require: "+examples %oneapi target=x86_64_v3" require:
- +examples target=x86_64_v3
specs: specs:
# CPU # CPU

View File

@@ -7,7 +7,8 @@ spack:
packages: packages:
all: all:
require: '%gcc target=x86_64_v3' require:
- 'target=x86_64_v3'
providers: providers:
blas: [openblas] blas: [openblas]
variants: +mpi variants: +mpi
@@ -21,7 +22,9 @@ spack:
variants: threads=openmp variants: threads=openmp
paraview: paraview:
# Don't build GUI support or GLX rendering for HPC/container deployments # Don't build GUI support or GLX rendering for HPC/container deployments
require: "@5.11 +examples ~qt ^[virtuals=gl] osmesa %gcc target=x86_64_v3" require:
- "@5.11 +examples ~qt ^[virtuals=gl] osmesa"
- 'target=x86_64_v3'
# ROCm # ROCm
comgr: comgr:

View File

@@ -9,7 +9,8 @@ spack:
packages: packages:
all: all:
require: require:
- '%gcc target=x86_64_v3' - "%gcc"
- target=x86_64_v3
variants: +mpi variants: +mpi
mpi: mpi:
require: require:

View File

@@ -8,7 +8,9 @@ spack:
packages: packages:
all: all:
require: '%gcc target=x86_64_v3' require:
- "%gcc"
- target=x86_64_v3
providers: providers:
blas: [openblas] blas: [openblas]
mpi: [mpich] mpi: [mpich]

View File

@@ -2,17 +2,14 @@ spack:
view: false view: false
packages: packages:
all: all:
require: target=x86_64_v3 require:
- target=x86_64_v3
- '%gcc@7.5.0'
providers: providers:
mpi: [mvapich2] mpi: [mvapich2]
definitions: specs:
#- compilers: ['%gcc@8.3.1', '%clang@10.0.0']
- compilers: ['%gcc@7.5.0']
# Note skipping spot since no spack package for it
- radiuss:
- ascent # ^conduit@0.6.0 - ascent # ^conduit@0.6.0
- axom - axom
- blt - blt
@@ -40,10 +37,5 @@ spack:
- xbraid - xbraid
- zfp - zfp
specs:
- matrix:
- [$radiuss]
- [$compilers]
cdash: cdash:
build-group: RADIUSS build-group: RADIUSS

View File

@@ -6,7 +6,7 @@
spack: spack:
view: false view: false
specs: specs:
- vtk~mpi - "vtk@9: ~mpi"
cdash: cdash:
build-group: Windows Visualization (Kitware) build-group: Windows Visualization (Kitware)