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/containers/debian/Dockerfile b/containers/debian/Dockerfile index 0c85d2d0..679583f3 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 +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 @@ -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 +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 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 new file mode 100644 index 00000000..c2108b73 --- /dev/null +++ b/spack-environment/ci_clang/spack.yaml @@ -0,0 +1,80 @@ +spack: + include: + - ../concretizer.yaml + - ../config.yaml + - ../packages.yaml + - ../packages_root_without_opengl.yaml + - ../view.yaml + packages: + all: + require: + - '%clang' + - any_of: [build_system=cmake, '@:'] + - any_of: [build_type=Release, '@:'] + specs: + - acts + - actsvg + - afterburner + - cmake + - covfie + - dd4hep -ddeve + - edm4hep + - eigen + - 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-scipy + - py-seaborn + - py-toml + - py-uproot + - py-vector + - root + - snakemake + - spdlog + - xrootd diff --git a/spack-environment/packages.yaml b/spack-environment/packages.yaml index d9a05626..27201198 100644 --- a/spack-environment/packages.yaml +++ b/spack-environment/packages.yaml @@ -350,6 +350,13 @@ packages: mosquitto: require: - '@2.0.18:' + mpi: + require: + - mpich + mpich: + require: + - '@4.2.1:' + - -fortran nlohmann-json: require: - '@3.11.2:'