From a16a9e879e8595533c319f3125ab59f7fb2bfe27 Mon Sep 17 00:00:00 2001 From: Wouter Deconinck Date: Sun, 31 Mar 2024 18:09:44 +0000 Subject: [PATCH 01/11] test: build entire stack with clang --- spack-environment/packages.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/spack-environment/packages.yaml b/spack-environment/packages.yaml index d9a05626..ad8269f6 100644 --- a/spack-environment/packages.yaml +++ b/spack-environment/packages.yaml @@ -23,6 +23,7 @@ packages: - when: '+cuda' spec: cuda_arch=75 require: + - '%clang' # FIXME any ipo requirement breaks llvm external reuse #- any_of: [+ipo, '@:'] - any_of: [build_system=cmake, '@:'] From 0aa441e1bee1b407a06aa31799892f5dc7f2051e Mon Sep 17 00:00:00 2001 From: Wouter Deconinck Date: Sat, 21 Sep 2024 02:06:11 +0000 Subject: [PATCH 02/11] fix: packages: mpi: require: openmpi --- spack-environment/packages.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/spack-environment/packages.yaml b/spack-environment/packages.yaml index ad8269f6..a5f72fc6 100644 --- a/spack-environment/packages.yaml +++ b/spack-environment/packages.yaml @@ -351,6 +351,9 @@ packages: mosquitto: require: - '@2.0.18:' + mpi: + require: + - openmpi nlohmann-json: require: - '@3.11.2:' From ce9718e0e4bd512c3e1277e94062fb010a511835 Mon Sep 17 00:00:00 2001 From: Wouter Deconinck Date: Sun, 22 Sep 2024 18:51:38 -0500 Subject: [PATCH 03/11] fix: packages: mpi: require: mpich @4.2.1 -fortran --- spack-environment/packages.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/spack-environment/packages.yaml b/spack-environment/packages.yaml index a5f72fc6..5716fa4f 100644 --- a/spack-environment/packages.yaml +++ b/spack-environment/packages.yaml @@ -353,7 +353,11 @@ packages: - '@2.0.18:' mpi: require: - - openmpi + - mpich + mpich: + require: + - '@4.2.1' + - -fortran nlohmann-json: require: - '@3.11.2:' From f80e583adfa9c32fb57849ce93987167c308c13d Mon Sep 17 00:00:00 2001 From: Wouter Deconinck Date: Sun, 22 Sep 2024 18:55:14 -0500 Subject: [PATCH 04/11] fix*: rm madx --- spack-environment/xl/spack.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/spack-environment/xl/spack.yaml b/spack-environment/xl/spack.yaml index 474c392a..4bc8116a 100644 --- a/spack-environment/xl/spack.yaml +++ b/spack-environment/xl/spack.yaml @@ -59,7 +59,6 @@ spack: - lhapdf - libtool - lzo - - madx - mosquitto - multitime - nano From 4c86808aa6842dc273ff7e6cec3c1f275464b771 Mon Sep 17 00:00:00 2001 From: Wouter Deconinck Date: Mon, 23 Sep 2024 03:35:40 +0000 Subject: [PATCH 05/11] fix: rm py-scipy --- spack-environment/xl/spack.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/spack-environment/xl/spack.yaml b/spack-environment/xl/spack.yaml index 4bc8116a..1054714c 100644 --- a/spack-environment/xl/spack.yaml +++ b/spack-environment/xl/spack.yaml @@ -110,7 +110,6 @@ spack: - py-pycairo - py-pyyaml - py-rucio-clients - - py-scipy - py-seaborn - py-snakemake-executor-plugin-slurm - py-snakemake-executor-plugin-slurm-jobstep From b0d8c5487029b6f6977c2cd126d82f1c9eb1d321 Mon Sep 17 00:00:00 2001 From: Wouter Deconinck Date: Sun, 16 Nov 2025 13:15:17 -0600 Subject: [PATCH 06/11] feat: new ci_clang env instead of modifying all --- .gitlab-ci.yml | 1 + spack-environment/ci_clang/spack.yaml | 82 +++++++++++++++++++++++++++ spack-environment/packages.yaml | 1 - spack-environment/xl/spack.yaml | 2 + 4 files changed, 85 insertions(+), 1 deletion(-) create mode 100644 spack-environment/ci_clang/spack.yaml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1d391a9f..6323eb7b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -394,6 +394,7 @@ eic: - BUILD_IMAGE: eic_ ENV: - ci + - ci_clang - ci_without_acts - cvmfs - xl diff --git a/spack-environment/ci_clang/spack.yaml b/spack-environment/ci_clang/spack.yaml new file mode 100644 index 00000000..5e1930e6 --- /dev/null +++ b/spack-environment/ci_clang/spack.yaml @@ -0,0 +1,82 @@ +spack: + include: + - ../concretizer.yaml + - ../packages.yaml + - ../view.yaml + packages: + all: + require: + - '%clang' + - any_of: [+ipo, '@:'] + - any_of: [build_system=cmake, '@:'] + - any_of: [build_type=Release, '@:'] + specs: + - acts + - actsvg + - afterburner + - algorithms + - cmake + - covfie + - dd4hep -ddeve + - edm4eic + - edm4hep + - eicrecon + - eigen + - epic@main # EPIC_VERSION + - fastjet + - fjcontrib + - fmt + - gaudi + - geant4 -opengl + - gfal2 + - gfal2-util + - graphviz + - hepmc3 + - hepmcmerger + - heppdt + - imagemagick + - irt + - iwyu + - jana2 + - juggler + - nopayloadclient + - npsim -geocad + - onnx + - osg-ca-certs + - podio + - prmon + - pythia8 + - py-awkward + - py-bokeh + - py-boost-histogram + - py-dask + - py-dask-histogram + - py-deepdiff + - py-eic-rucio-policy-package + - py-epic-capybara + - py-graphviz + - py-hepunits + - py-hist + - py-histoprint + - py-jinja2 + - py-jinja2-cli + - py-lmfit + - py-lxml + - py-matplotlib + - py-mplhep + - py-htgettoken + - py-numpy + - py-onnx + - py-onnxruntime + - py-pandas + - py-particle + - py-pip + - py-rucio-clients + - py-seaborn + - py-toml + - py-uproot + - py-vector + - root -opengl -webgui + - snakemake + - spdlog + - xrootd diff --git a/spack-environment/packages.yaml b/spack-environment/packages.yaml index 5716fa4f..9ed49eb2 100644 --- a/spack-environment/packages.yaml +++ b/spack-environment/packages.yaml @@ -23,7 +23,6 @@ packages: - when: '+cuda' spec: cuda_arch=75 require: - - '%clang' # FIXME any ipo requirement breaks llvm external reuse #- any_of: [+ipo, '@:'] - any_of: [build_system=cmake, '@:'] diff --git a/spack-environment/xl/spack.yaml b/spack-environment/xl/spack.yaml index 1054714c..474c392a 100644 --- a/spack-environment/xl/spack.yaml +++ b/spack-environment/xl/spack.yaml @@ -59,6 +59,7 @@ spack: - lhapdf - libtool - lzo + - madx - mosquitto - multitime - nano @@ -110,6 +111,7 @@ spack: - py-pycairo - py-pyyaml - py-rucio-clients + - py-scipy - py-seaborn - py-snakemake-executor-plugin-slurm - py-snakemake-executor-plugin-slurm-jobstep From eacc83778df70a29c681fce408150d51b341d501 Mon Sep 17 00:00:00 2001 From: Wouter Deconinck Date: Fri, 3 Jul 2026 08:49:54 -0500 Subject: [PATCH 07/11] fix: unpin mpich --- spack-environment/packages.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spack-environment/packages.yaml b/spack-environment/packages.yaml index 9ed49eb2..27201198 100644 --- a/spack-environment/packages.yaml +++ b/spack-environment/packages.yaml @@ -355,7 +355,7 @@ packages: - mpich mpich: require: - - '@4.2.1' + - '@4.2.1:' - -fortran nlohmann-json: require: From cece6fb2153ad06329c4a2a808add3413b83e98c Mon Sep 17 00:00:00 2001 From: Wouter Deconinck Date: Fri, 3 Jul 2026 09:04:53 -0500 Subject: [PATCH 08/11] fix: install flang when using clang-20 or newer --- containers/debian/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/containers/debian/Dockerfile b/containers/debian/Dockerfile index 0c85d2d0..b0be8a4a 100644 --- a/containers/debian/Dockerfile +++ b/containers/debian/Dockerfile @@ -120,6 +120,7 @@ fi apt-get -yqq update apt-get -yqq install cpp${GCC} gcc${GCC} g++${GCC} gfortran${GCC} apt-get -yqq install clang${CLANG} clang-tidy${CLANG} clang-format${CLANG} libclang${CLANG}-dev libc++${CLANG}-dev +[ ${CLANG} -ge 20 ] && apt-get -yqq install flang${CLANG} apt-get -yqq autoremove # Remove symlinks loop in nvidia/cuda:12.5.1-devel-ubuntu24.04 rm -f /usr/bin/cpp /etc/alternatives/cpp @@ -136,6 +137,7 @@ update-alternatives --install /usr/bin/clang-format-diff clang-format-diff /usr/ update-alternatives --install /usr/bin/clang-tidy-diff clang-tidy-diff /usr/bin/clang-tidy-diff${CLANG}.py 100 update-alternatives --install /usr/bin/run-clang-tidy run-clang-tidy /usr/bin/run-clang-tidy${CLANG}.py 100 update-alternatives --install /usr/bin/llvm-config llvm-config /usr/bin/llvm-config${CLANG} 100 +[ ${CLANG} -ge 20 ] && update-alternatives --install /usr/bin/flang flang /usr/bin/flang${CLANG} flang # Default to gcc update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 100 update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 100 From eb07a4dd49f49949051f044bf5782f024bd18fda Mon Sep 17 00:00:00 2001 From: Wouter Deconinck Date: Fri, 3 Jul 2026 13:35:00 -0500 Subject: [PATCH 09/11] fix: split eic_ci_clang into epic sub-env --- spack-environment/ci_clang/epic/spack.yaml | 16 ++++++++++++++++ spack-environment/ci_clang/spack.yaml | 9 +++------ 2 files changed, 19 insertions(+), 6 deletions(-) create mode 100644 spack-environment/ci_clang/epic/spack.yaml diff --git a/spack-environment/ci_clang/epic/spack.yaml b/spack-environment/ci_clang/epic/spack.yaml new file mode 100644 index 00000000..b06813bb --- /dev/null +++ b/spack-environment/ci_clang/epic/spack.yaml @@ -0,0 +1,16 @@ +spack: + include: + - ../spack.lock + - ../../concretizer.yaml + - ../../config.yaml + - ../../packages.yaml + - ../../view.yaml + packages: + geant4: + require: + - ~opengl + specs: + - algorithms + - edm4eic + - eicrecon + - epic@main # EPIC_VERSION diff --git a/spack-environment/ci_clang/spack.yaml b/spack-environment/ci_clang/spack.yaml index 5e1930e6..01a0f773 100644 --- a/spack-environment/ci_clang/spack.yaml +++ b/spack-environment/ci_clang/spack.yaml @@ -1,28 +1,25 @@ spack: include: - ../concretizer.yaml + - ../config.yaml - ../packages.yaml + - ../packages_root_without_opengl.yaml - ../view.yaml packages: all: require: - '%clang' - - any_of: [+ipo, '@:'] - any_of: [build_system=cmake, '@:'] - any_of: [build_type=Release, '@:'] specs: - acts - actsvg - afterburner - - algorithms - cmake - covfie - dd4hep -ddeve - - edm4eic - edm4hep - - eicrecon - eigen - - epic@main # EPIC_VERSION - fastjet - fjcontrib - fmt @@ -76,7 +73,7 @@ spack: - py-toml - py-uproot - py-vector - - root -opengl -webgui + - root - snakemake - spdlog - xrootd From 4d0afb09cd9cb0506eec07b02c5b1cf1881a03a7 Mon Sep 17 00:00:00 2001 From: Wouter Deconinck Date: Sat, 4 Jul 2026 09:55:33 -0500 Subject: [PATCH 10/11] fix: deal with non-numeric CLANG value Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- containers/debian/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/containers/debian/Dockerfile b/containers/debian/Dockerfile index b0be8a4a..679583f3 100644 --- a/containers/debian/Dockerfile +++ b/containers/debian/Dockerfile @@ -120,7 +120,7 @@ fi apt-get -yqq update apt-get -yqq install cpp${GCC} gcc${GCC} g++${GCC} gfortran${GCC} apt-get -yqq install clang${CLANG} clang-tidy${CLANG} clang-format${CLANG} libclang${CLANG}-dev libc++${CLANG}-dev -[ ${CLANG} -ge 20 ] && apt-get -yqq install flang${CLANG} +if [ "${CLANG#-}" -ge 20 ]; then apt-get -yqq install flang${CLANG}; fi apt-get -yqq autoremove # Remove symlinks loop in nvidia/cuda:12.5.1-devel-ubuntu24.04 rm -f /usr/bin/cpp /etc/alternatives/cpp @@ -137,7 +137,7 @@ update-alternatives --install /usr/bin/clang-format-diff clang-format-diff /usr/ update-alternatives --install /usr/bin/clang-tidy-diff clang-tidy-diff /usr/bin/clang-tidy-diff${CLANG}.py 100 update-alternatives --install /usr/bin/run-clang-tidy run-clang-tidy /usr/bin/run-clang-tidy${CLANG}.py 100 update-alternatives --install /usr/bin/llvm-config llvm-config /usr/bin/llvm-config${CLANG} 100 -[ ${CLANG} -ge 20 ] && update-alternatives --install /usr/bin/flang flang /usr/bin/flang${CLANG} flang +if [ "${CLANG#-}" -ge 20 ]; then update-alternatives --install /usr/bin/flang flang /usr/bin/flang${CLANG} 100; fi # Default to gcc update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 100 update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 100 From 86703a5bf01f392a60bf3f113c93049ee96e8f99 Mon Sep 17 00:00:00 2001 From: Wouter Deconinck Date: Sat, 4 Jul 2026 09:57:01 -0500 Subject: [PATCH 11/11] fix: re-add py-scipy Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- spack-environment/ci_clang/spack.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/spack-environment/ci_clang/spack.yaml b/spack-environment/ci_clang/spack.yaml index 01a0f773..c2108b73 100644 --- a/spack-environment/ci_clang/spack.yaml +++ b/spack-environment/ci_clang/spack.yaml @@ -69,6 +69,7 @@ spack: - py-particle - py-pip - py-rucio-clients + - py-scipy - py-seaborn - py-toml - py-uproot