diff --git a/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml b/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml index ce83efc6599..f6e3a481f32 100644 --- a/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml +++ b/share/spack/gitlab/cloud_pipelines/.gitlab-ci.yml @@ -785,6 +785,29 @@ ml-darwin-aarch64-mps-build: - artifacts: True job: ml-darwin-aarch64-mps-generate +######################################## +# High Energy Physics (HEP) - Linux x86_64 (CPU) +######################################## +.hep: + extends: [ ".linux_x86_64_v3" ] + variables: + SPACK_CI_STACK_NAME: hep + +hep-generate: + extends: [ ".hep", ".generate-x86_64"] + image: ghcr.io/spack/spack/ubuntu22.04-runner-amd64-gcc-11.4:2024.03.01 + +hep-build: + extends: [ ".hep", ".build" ] + trigger: + include: + - artifact: jobs_scratch_dir/cloud-ci-pipeline.yml + job: hep-generate + strategy: depend + needs: + - artifacts: True + job: hep-generate + ######################################## # AWS ParallelCluster ######################################## diff --git a/share/spack/gitlab/cloud_pipelines/configs/linux/ci.yaml b/share/spack/gitlab/cloud_pipelines/configs/linux/ci.yaml index 09b6e74bf75..5fd569c4a96 100644 --- a/share/spack/gitlab/cloud_pipelines/configs/linux/ci.yaml +++ b/share/spack/gitlab/cloud_pipelines/configs/linux/ci.yaml @@ -72,7 +72,9 @@ ci: - match: - dealii + - geant4 - rocblas + - root build-job: tags: [ "spack", "huge" ] variables: @@ -82,6 +84,7 @@ ci: KUBERNETES_MEMORY_REQUEST: 19G - match: + - acts - ecp-data-vis-sdk - intel-tbb - llvm-amdgpu @@ -102,6 +105,7 @@ ci: - cuda - dray - ecp-data-vis-sdk + - gaudi - gcc - ginkgo - hdf5 @@ -144,7 +148,11 @@ ci: KUBERNETES_MEMORY_REQUEST: "9G" - match: + - dd4hep - hipblas + - qt-base + - qt-declarative + - rivet - rocfft - umpire build-job: @@ -193,6 +201,7 @@ ci: - match: - parallelio + - sherpa build-job: tags: [ "spack", "medium" ] variables: diff --git a/share/spack/gitlab/cloud_pipelines/stacks/hep/spack.yaml b/share/spack/gitlab/cloud_pipelines/stacks/hep/spack.yaml new file mode 100644 index 00000000000..66221a8bafa --- /dev/null +++ b/share/spack/gitlab/cloud_pipelines/stacks/hep/spack.yaml @@ -0,0 +1,64 @@ +spack: + view: false + + concretizer: + reuse: false + unify: when_possible + + packages: + all: + require: '%gcc target=x86_64_v3' + providers: + blas: [openblas] + mpi: [mpich] + tbb: [intel-tbb] + variants: +mpi + + # Mark geant4 data as external to prevent wasting bandwidth on GB-scale files + geant4-data: + externals: + - spec: geant4-data@11.3.0 + prefix: /usr + - spec: geant4-data@11.2.2 + prefix: /usr + - spec: geant4-data@11.2.0 + prefix: /usr + - spec: geant4-data@11.1.0 + prefix: /usr + - spec: geant4-data@11.0.0 + prefix: /usr + + specs: + # CPU + - acts +analysis +dd4hep +edm4hep +examples +fatras +geant4 +hepmc3 +podio +pythia8 +python +tgeo cxxstd=20 + - dd4hep +ddalign +ddcad +ddcond +dddetectors +dddigi +ddeve +ddg4 +ddrec +edm4hep +hepmc3 +lcio +utilityapps +xercesc + - delphes +pythia8 + - edm4hep + - fastjet + - fjcontrib + - gaudi +aida +examples +heppdt +xercesc ^gdb +debuginfod +python + - geant4 +opengl +qt +threads ~vtk ^[virtuals=qmake] qt + - hepmc + - hepmc3 +interfaces +protobuf +python +rootio + #- herwig3 +njet +vbfnlo # Note: herwig3 fails to find evtgen + - lcio -examples ~jar +rootdict # Note: lcio +examples ^ncurses -termlib, which leads to conflicts + - lhapdf +python + - madgraph5amc + - opendatadetector + - podio +rntuple +sio + - py-uproot +lz4 +xrootd +zstd + - pythia8 +evtgen +fastjet +hdf5 +hepmc +hepmc3 +lhapdf ~madgraph5amc +python +rivet ~root # pythia8 and root circularly depend + - rivet hepmc=3 + - root +davix +dcache +examples +fftw +fits +fortran +gdml +graphviz +gsl +http +math +minuit +mlp +mysql +opengl ~postgres +pythia8 +python +r +roofit +root7 +rpath ~shadow +spectrum +sqlite +ssl +tbb +threads +tmva +unuran +vc +vdt +veccore +webgui +x +xml +xrootd + - sherpa +analysis ~blackhat +gzip +hepmc3 +hepmc3root +lhapdf +lhole +openloops +pythia ~python ~recola ~rivet +root +ufo + - thepeg ~rivet + - vecgeom +gdml +geant4 +root + - xrootd +davix +http +krb5 +python +readline +scitokens-cpp + + ci: + pipeline-gen: + - build-job: + image: "ghcr.io/spack/spack/ubuntu22.04-runner-amd64-gcc-11.4:2024.03.01" + + cdash: + build-group: HEP diff --git a/var/spack/repos/builtin/packages/gaudi/package.py b/var/spack/repos/builtin/packages/gaudi/package.py index 25e03ffe604..d94496ae9e3 100644 --- a/var/spack/repos/builtin/packages/gaudi/package.py +++ b/var/spack/repos/builtin/packages/gaudi/package.py @@ -138,6 +138,11 @@ class Gaudi(CMakePackage): # The Intel VTune dependency is taken aside because it requires a license depends_on("intel-parallel-studio -mpi +vtune", when="+vtune") + def patch(self): + # ensure an empty pytest.ini is present to prevent finding one + # accidentally in a higher directory than the stage directory + touch("pytest.ini") + def cmake_args(self): args = [ # Note: gaudi only builds examples when testing enabled