diff --git a/containers/jug/dev.Dockerfile b/containers/jug/dev.Dockerfile index b9bbebadea7acd34306bc25b0facdec91770e286..bb9481e5177eb601e1381a2caa2c619e99da785b 100644 --- a/containers/jug/dev.Dockerfile +++ b/containers/jug/dev.Dockerfile @@ -69,9 +69,7 @@ export CCACHE_DIR=/ccache mkdir -p /var/cache/spack/blobs/sha256/ find /var/cache/spack/blobs/sha256/ -ignore_readdir_race -atime +7 -delete make --jobs ${jobs} --keep-going --directory /opt/spack-environment \ - SPACK_ENV=${SPACK_ENV} \ - BUILDCACHE_OCI_PROMPT="eicweb" \ - BUILDCACHE_OCI_FINAL="ghcr" + SPACK_ENV=${SPACK_ENV} ccache --show-stats ccache --zero-stats EOF @@ -187,9 +185,7 @@ RUN --mount=type=cache,target=/ccache,id=${TARGETPLATFORM} \ set -e export CCACHE_DIR=/ccache make --jobs ${jobs} --keep-going --directory /opt/spack-environment \ - SPACK_ENV=${SPACK_ENV} \ - BUILDCACHE_OCI_PROMPT="eicweb" \ - BUILDCACHE_OCI_FINAL="ghcr" + SPACK_ENV=${SPACK_ENV} spack gc --yes-to-all spack find --long --no-groups \ | sed -e '1,/Installed packages/d;s/\([^@]*\).*/\1/g' \ diff --git a/mirrors.yaml.in b/mirrors.yaml.in index 3ccc29313a2492c06330e1833d839eb3f1821a2e..5b89a7b011d3fae1d112d33a2a379fbd43e135b4 100644 --- a/mirrors.yaml.in +++ b/mirrors.yaml.in @@ -1,5 +1,6 @@ mirrors: eicweb: + autopush: true url: oci://${CI_REGISTRY}/${CI_PROJECT_PATH}/spack-${SPACK_VERSION} signed: false fetch: @@ -11,6 +12,7 @@ mirrors: - ${CI_REGISTRY_USER} - ${CI_REGISTRY_PASSWORD} ghcr: + autopush: true url: oci://ghcr.io/eic/spack-${SPACK_VERSION} signed: false fetch: @@ -29,14 +31,10 @@ mirrors: access_pair: - ${S3RW_ACCESS_KEY} - ${S3RW_SECRET_KEY} - access_token: null - profile: null endpoint_url: https://eics3.sdcc.bnl.gov:9000 push: url: s3://eictest/EPIC/spack/${SPACK_VERSION} access_pair: - ${S3RW_ACCESS_KEY} - ${S3RW_SECRET_KEY} - access_token: null - profile: null endpoint_url: https://eics3.sdcc.bnl.gov:9000 diff --git a/spack-environment/Makefile b/spack-environment/Makefile index 0ce2ee2c35e0745aa8f70f6aafb8e95ab10ab44c..0362629b21adf6c936fbc7839a6de32165f2c423 100644 --- a/spack-environment/Makefile +++ b/spack-environment/Makefile @@ -7,9 +7,7 @@ export SPACK_COLOR = always SPACK_ENV ?= dev -BUILDCACHE_S3_PROMPT := BUILDCACHE_S3_FINAL := -BUILDCACHE_OCI_PROMPT := BUILDCACHE_OCI_FINAL := BUILDCACHE_OCI_BASE_IMAGE := ghcr.io/eic/debian:stable-slim @@ -24,13 +22,10 @@ endif $(SPACK_ENV)/push: $(addprefix $(SPACK_ENV)/push/,$($(SPACK_ENV)/SPACK_PACKAGE_IDS)) $(foreach buildcache, $(BUILDCACHE_S3_FINAL), $(SPACK) buildcache push --private --unsigned $(buildcache) ;) $(foreach buildcache, $(BUILDCACHE_S3_FINAL), $(SPACK) buildcache update-index $(buildcache) ;) - $(foreach buildcache, $(BUILDCACHE_S3_PROMPT), $(SPACK) buildcache update-index $(buildcache) ;) $(foreach buildcache, $(BUILDCACHE_OCI_FINAL), $(SPACK) buildcache push --private --unsigned --base-image $(BUILDCACHE_OCI_BASE_IMAGE) $(buildcache) | grep -v "Using cached archive" ;) $(SPACK_ENV)/push/%: $(SPACK_ENV)/install/% @mkdir -p $(dir $@) - $(foreach buildcache, $(BUILDCACHE_S3_PROMPT), $(SPACK) buildcache push --private --unsigned --only=package $(buildcache) /$(HASH) ;) # push $(SPEC) - $(foreach buildcache, $(BUILDCACHE_OCI_PROMPT), $(SPACK) buildcache push --private --unsigned --base-image $(BUILDCACHE_OCI_BASE_IMAGE) $(buildcache) /$(HASH) | grep -v "Using cached archive" ;) # push $(SPEC) @touch $@ $(SPACK_ENV)/spack.lock: $(SPACK_ENV)/spack.yaml Makefile diff --git a/spack-environment/cuda/spack.yaml b/spack-environment/cuda/spack.yaml index 629837c0039db1dabea497d7f5ec666d8f30f07b..6fa30c91fb0e348467e47b037c502b2d4a96953f 100644 --- a/spack-environment/cuda/spack.yaml +++ b/spack-environment/cuda/spack.yaml @@ -2,8 +2,6 @@ spack: include: - ../concretizer.yaml - ../packages.yaml - config: - install_missing_compilers: false specs: - acts +cuda cuda_arch=75 - actsvg diff --git a/spack-environment/dbg/spack.yaml b/spack-environment/dbg/spack.yaml index ba53572ed483ad4fb868f170ec7712365a524278..0b4750f7bd41486f1d959e7b1b3f82d148acf29f 100644 --- a/spack-environment/dbg/spack.yaml +++ b/spack-environment/dbg/spack.yaml @@ -2,8 +2,6 @@ spack: include: - ../concretizer.yaml - ../packages.yaml - config: - install_missing_compilers: false specs: - acts build_type=Debug - algorithms build_type=Debug diff --git a/spack-environment/packages.yaml b/spack-environment/packages.yaml index 6c66495c87579ef41c3a120a56b13b1288f1d9e1..e548b13723e789aef0b701a2c2cf2b1a75d7374f 100644 --- a/spack-environment/packages.yaml +++ b/spack-environment/packages.yaml @@ -75,6 +75,11 @@ packages: dawncut: require: - '@1_54a' + dbus: + require: + # Until 1.15.12, https://gitlab.freedesktop.org/dbus/dbus/-/commit/b104667bd7ec55dda057ff4ffdde848336f253f4, + # the meson build assumes that the user name exists as a group name as well. Require 1.14.10 (only autotools). + - '@1.14.10' dd4hep: require: - '@1.30' @@ -228,6 +233,10 @@ packages: nano: require: - '@7.2' + node-js: + require: + # node-js@22.3: fails with gcc-12.2 in bookworm + - '@20.15.0' nopayloadclient: require: - '@0.0.3' diff --git a/spack-environment/prod/spack.yaml b/spack-environment/prod/spack.yaml index 4cf7f9439af2265f79abe65f7aa100760a044fbc..c77103a253950a1c66d15a4eb25a46ab65cdd230 100644 --- a/spack-environment/prod/spack.yaml +++ b/spack-environment/prod/spack.yaml @@ -2,8 +2,6 @@ spack: include: - ../concretizer.yaml - ../packages.yaml - config: - install_missing_compilers: false specs: - acts - cmake diff --git a/spack-environment/xl/spack.yaml b/spack-environment/xl/spack.yaml index 0dc91e3472a64af8b6af19cd4a08bb5cf4f1c7fa..af9520c360df1b45927b39323e60524697efc79b 100644 --- a/spack-environment/xl/spack.yaml +++ b/spack-environment/xl/spack.yaml @@ -2,8 +2,6 @@ spack: include: - ../concretizer.yaml - ../packages.yaml - config: - install_missing_compilers: false specs: - acts - actsvg diff --git a/spack.sh b/spack.sh index 5f2ec4e06866f11001fbb028683e491624a7687a..f3adcb3920135bf7ece19ed3aff5f6f90f12484f 100644 --- a/spack.sh +++ b/spack.sh @@ -3,104 +3,19 @@ SPACK_ORGREPO="spack/spack" ## Spack github version, e.g. v0.18.1 or commit hash ## note: nightly builds will use e.g. releases/v0.19 -SPACK_VERSION="v0.22.2" +SPACK_VERSION="v0.23.0" ## Space-separated list of spack cherry-picks read -r -d '' SPACK_CHERRYPICKS <<- \ --- || true 09f75ee426a2e05e0543570821582480ff823ba5 -f6d50f790ee8b123f7775429f6ca6394170e6de9 -63f6e6079aacc99078386e5c8ff06173841b9595 -092dc96e6c87a9c043e4421e1a524e23ec649f60 -85f13442d2a7486daba81fdd9a3b6a1182ba11f6 -f73d7d2dce226857cbc774e942454bad2992969e -cbab451c1a342523ed75e9be1098615a597a9b59 -4fe5f35c2fff6288e4c05e5946798ad2191a2c40 -4c60deb9921ff2cbbfa6771f4f63ff812a8a5840 -b894acf1fca8eb5cc52d2267b0c4c187065998c0 -8b45fa089e24c6ab7de2eaf614977369e69daa54 -2d8ca8af6932dfd50204d1e4f6fe587dec7beef5 -d3bf1e04fca844abb7c1eeac38dda4e126c81b67 -81125c3bd80e71a2e57c7fcff8e02c4b3add5b90 -8b2fec61f23a7b8230c0ed0378d90d04d8f590d8 -2242da65fdc06e7ac04c43613dc7795164b3a7a3 -1dc63dbea6c1d42aabf0e14b51439dcc46423e79 -737b70cbbfacb3fba8054426e9b5bf8ede6d8faf -a66586d749197841bd74e289802126f2359287a8 -7503a417731910d918a7863d1862f62c9b76429d -f8f01c336c882f29ac364995423b9f69ac365462 -6051d56014730528da8dfa69934d93f9b7941a70 -67536058077995cab1ed23b8ca62aaf75463ae04 -7b9f8abce5cee74546a6f588f88c6f353170d52b -096ab11961995ac8d69f7b177cbcadf618d3068e -6c4abef75cb2b98c337f8a3179797e29dfdc9ca3 -9cdb2a8dbb742169fefe0214ee76530e7f14dfdf -04f0af0a28e1f6ff0ef0b50e28ecf9d19fe544e6 -395491815acb20e48050b77dca457aa7cc340ca1 -43d1cdb0bd4780bff369dafa681a8a7939313784 -5bc105c01c0e458924df40d51f7111ba507689f9 -dce2f4ca7cb0c96d1be94ef6ee7a3f0c45207af0 -fbceae7773c51198a775efffd7a9e21d0fe1e05c -e91a69a7564dfe54718541954607d89c086caf12 -26bc91fe9bde4549fb39062e1dd838b612205717 -ddf1a1a74ba2ee99377edc2100e0478c1ddd3653 -2fc056e27cb6e362b56946907c48feda61766319 -fc7125fdf3f594683d264e48160ca86717c2109d -b98e5886e5c9b5e005b54fa727704da384d81f21 -e992e1efbdfd6072891e402371cac4741a3047a9 -8d2a6d6744cfe9663ca0aa3610bfd96c45a62333 -6d51d94dab4f780b39c614a9ecb10f5940bdae4b b90ac6441cfdf6425cb59551e7b0538899b69527 --- ## Optional hash table with comma-separated file list read -r -d '' SPACK_CHERRYPICKS_FILES <<- \ --- || true -[67536058077995cab1ed23b8ca62aaf75463ae04]=var/spack/repos/builtin/packages/py-protobuf/package.py -[7b9f8abce5cee74546a6f588f88c6f353170d52b]=var/spack/repos/builtin/packages/celeritas/package.py,var/spack/repos/builtin/packages/protobuf/package.py,var/spack/repos/builtin/packages/py-protobuf/package.py,var/spack/repos/builtin/packages/strace/package.py -[8d2a6d6744cfe9663ca0aa3610bfd96c45a62333]=var/spack/repos/builtin/packages/celeritas/package.py --- ## Ref: https://github.com/spack/spack/commit/[hash] ## [hash]: [description] ## 09f75ee426a2e05e0543570821582480ff823ba5: setup-env.sh: if exe contains qemu, use /proc/$$/comm instead -## f6d50f790ee8b123f7775429f6ca6394170e6de9: gaudi: Add version 38.1 -## 63f6e6079aacc99078386e5c8ff06173841b9595: gaudi: upstream patch when @38.1 for missing #include <list> -## 092dc96e6c87a9c043e4421e1a524e23ec649f60: acts: pass cuda_arch to CMAKE_CUDA_ARCHITECTURES -## 85f13442d2a7486daba81fdd9a3b6a1182ba11f6: Consolidate concretization output for environments -## f73d7d2dce226857cbc774e942454bad2992969e: dd4hep: cleanup recipe, remove deprecated versions and patches -## cbab451c1a342523ed75e9be1098615a597a9b59: dd4hep: Add version 1.29 -## 4fe5f35c2fff6288e4c05e5946798ad2191a2c40: xrootd: add v5.7.0 -## 4c60deb9921ff2cbbfa6771f4f63ff812a8a5840: xrootd: add github as secondary url to avoid SSL issues -## b894acf1fca8eb5cc52d2267b0c4c187065998c0: geant4: add v11.2.2, incl g4ndl v4.7.1 -## 8b45fa089e24c6ab7de2eaf614977369e69daa54: geant4: support Qt5 and Qt6 -## 2d8ca8af6932dfd50204d1e4f6fe587dec7beef5: qt-*: add v6.7.1, v6.7.2 -## d3bf1e04fca844abb7c1eeac38dda4e126c81b67: py-vector: add through v1.4.1 (switch to hatchling) -## 81125c3bd80e71a2e57c7fcff8e02c4b3add5b90: hepmc3: pass root variant cxxstd as HEPMC3_CXX_STANDARD -## 8b2fec61f23a7b8230c0ed0378d90d04d8f590d8: hepmc3: add v3.3.0 -## 2242da65fdc06e7ac04c43613dc7795164b3a7a3: graphviz: add through v12.1.0 -## 1dc63dbea6c1d42aabf0e14b51439dcc46423e79: acts: add v34.1.0, v35.0.0 (identification, sycl variants changes) -## 737b70cbbfacb3fba8054426e9b5bf8ede6d8faf: Buildcache: remove deprecated --allow-root and preview subcommand -## a66586d749197841bd74e289802126f2359287a8: spack buildcache push: best effort -## 7503a417731910d918a7863d1862f62c9b76429d: cuda: add v12.4.1 -## f8f01c336c882f29ac364995423b9f69ac365462: clang: support cxx20_flag and cxx23_flag -## 6051d56014730528da8dfa69934d93f9b7941a70: fastjet: avoid plugins=all,cxx combinations -## 67536058077995cab1ed23b8ca62aaf75463ae04: Update py-pyspark and py-py4j (py-protobuf only) -## 7b9f8abce5cee74546a6f588f88c6f353170d52b: Add depends_on([c,cxx,fortran]) -## 096ab11961995ac8d69f7b177cbcadf618d3068e: py-onnx: link to external protobuf -## 6c4abef75cb2b98c337f8a3179797e29dfdc9ca3: py-protobuf: drop +cpp, always require protobuf -## 9cdb2a8dbb742169fefe0214ee76530e7f14dfdf: dd4hep: depends_on root +root7 in some cases -## 04f0af0a28e1f6ff0ef0b50e28ecf9d19fe544e6: acts,dd4hep: restrict to podio@0 to prevent failures with podio@1 -## 395491815acb20e48050b77dca457aa7cc340ca1: dd4hep: mark conflict with root@6.31.1: -## 43d1cdb0bd4780bff369dafa681a8a7939313784: dd4hep: Add tag for version 1.30 -## 5bc105c01c0e458924df40d51f7111ba507689f9: gfal2: new package (and dependencies) -## dce2f4ca7cb0c96d1be94ef6ee7a3f0c45207af0: strace: add v6.11 and mpers variant (disabed by default) -## fbceae7773c51198a775efffd7a9e21d0fe1e05c: [py-datasets] Add py-datasets version 2.20.0 -## e91a69a7564dfe54718541954607d89c086caf12: py-tabulate: add v0.8.10, v0.9.0 -## 26bc91fe9bde4549fb39062e1dd838b612205717: py-rucio-clients: new package (and dependencies) -## ddf1a1a74ba2ee99377edc2100e0478c1ddd3653: py-urllib3: add v1.26.20 -## 2fc056e27cb6e362b56946907c48feda61766319: py-flask-compress: add v1.14 -## fc7125fdf3f594683d264e48160ca86717c2109d: py-fsspec-xrootd: new package -## b98e5886e5c9b5e005b54fa727704da384d81f21: py-pyppeteer: new package -## e992e1efbdfd6072891e402371cac4741a3047a9: celeritas: new version 0.4.4 -## 8d2a6d6744cfe9663ca0aa3610bfd96c45a62333: sethrj: update maintained package language dependencies -## 6d51d94dab4f780b39c614a9ecb10f5940bdae4b: celeritas: add v0.5.0 -## b90ac6441cfdf6425cb59551e7b0538899b69527: celeritas: remove ancient versions and add CUDA package dependency \ No newline at end of file +## b90ac6441cfdf6425cb59551e7b0538899b69527: celeritas: remove ancient versions and add CUDA package dependency