Skip to content

Commit 0e169ce

Browse files
wdconincCopilot
andauthored
fix: define both prefer and requires for packages:all (#48)
* fix: define both prefer and requires for packages:all * fix: packages:all:prefer does not allow any_of * fix: package:all:prefer can use variants though * fix: packages: acts: require: ~ipo * fix: packages: dd4hep: %clang * fix: packages: acts: default to +ipo again * Clarify compiler requirement comment for dd4hep Updated comment for clarity regarding compiler requirements. * Grammar Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix: packages: py-rich: require: @13: * fix: packages: py-beautifulsoup4: require: @7.16: * fix: packages: py-beautifulsoup4: require: @4.12: * fix: packages: py-jupyterlab: require: @4.3.5: * fix: packages: dd4hep: require: +edm4hep * fix: {ci,xl}: packages: dd4hep: require: ~/+ddeve * fix: {ci,xl}/epic: packages: geant4: require: ~/+opengl * Disable fail-fast in build-push workflow * fix: packages: llvm: require: ~ipo LLVM 15.0.7 fails to build with IPO/LTO enabled. Disable it explicitly to avoid compilation errors during the tf environment build. Fixes build failure in job 6935933 where LLVM compilation failed, causing py-llvmlite and py-numba to be skipped. * fix: packages: llvm: use any_of for ~ipo requirement The strict require: ~ipo was conflicting with packages:all:require when llvm is used as an external package (found via spack external find). Using any_of: [~ipo, '@:'] allows the requirement to be satisfied or skipped when the variant is not applicable (e.g., for external packages). This fixes the 'Only external, or concrete, compilers are allowed' error during concretization. * fix: py-hatchling: require: @1.27: * fix: alphabetize packages requirements * fix: clarify docs for packages: all: prefer vs require Clarify comments regarding the prefer and require sections in packages.yaml. * fix: packages: acts: require compiler from dd4hep Updated dependencies and requirements for ACTS and dd4hep in packages.yaml. * fix: syntax * fix: syntax Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix: openblas: require: build_system=makefile when +ilp64 --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
1 parent b31855b commit 0e169ce

File tree

4 files changed

+48
-10
lines changed

4 files changed

+48
-10
lines changed

.github/workflows/build-push.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ jobs:
107107
PLATFORM: linux/amd64
108108
runner: ubuntu-latest
109109
arch: amd64
110+
fail-fast: false
110111
steps:
111112
- name: Checkout
112113
uses: actions/checkout@v4
@@ -406,6 +407,7 @@ jobs:
406407
runner: ubuntu-latest
407408
PLATFORM: linux/amd64
408409
target: builder_concretization_default
410+
fail-fast: false
409411
steps:
410412
- name: Free Disk Space (Ubuntu)
411413
uses: jlumbroso/free-disk-space@v1.3.1

spack-environment/ci/epic/spack.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ spack:
55
- ../../view.yaml
66
include_concrete:
77
- /opt/spack-environment/ci
8+
packages:
9+
geant4:
10+
require:
11+
- ~opengl
812
specs:
913
- algorithms
1014
- edm4eic

spack-environment/packages.yaml

Lines changed: 38 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,14 @@
1111
#
1212
packages:
1313
all:
14+
# duplication between the prefer and require sections is intentional
15+
# since 'require' for 'all' is overwritten by package-specific entries,
16+
# and 'prefer' at least retains some (less strict) preference in that case
17+
prefer:
18+
- '%gcc'
19+
- +ipo
20+
- build_system=cmake
21+
- build_type=Release
1422
require:
1523
- '%gcc'
1624
- any_of: [+ipo, '@:']
@@ -20,6 +28,11 @@ packages:
2028
require:
2129
- '@44.3.0'
2230
- cxxstd=20 +dd4hep ~edm4hep +examples +fatras +geant4 +json +onnx +podio +python +svg +tgeo +pr4496 +pr4502 +pr4620
31+
# ACTS requires same compiler as DD4hep since compiler options are reused
32+
- spec: '%gcc'
33+
when: '^dd4hep%gcc'
34+
- spec: '%clang'
35+
when: '^dd4hep%clang'
2336
actsvg:
2437
require:
2538
- '@0.4.56'
@@ -96,9 +109,8 @@ packages:
96109
- '@1.16.2:'
97110
dd4hep:
98111
require:
99-
- '%gcc'
100112
- '@1.33'
101-
- +ddg4 +ddcad +hepmc3 +xercesc
113+
- +ddg4 +ddcad +edm4hep +hepmc3 +xercesc
102114
- any_of: [+ddeve +utilityapps, -ddeve -utilityapps] # FIXME ^root +x +opengl when +utilityapps
103115
dpmjet:
104116
require:
@@ -254,6 +266,7 @@ packages:
254266
llvm:
255267
require:
256268
- ~gold
269+
- any_of: [~ipo, '@:']
257270
madx:
258271
require:
259272
- '@5.08.01:'
@@ -287,6 +300,9 @@ packages:
287300
openblas:
288301
require:
289302
- ~fortran
303+
- spec: build_system=makefile
304+
when: +ilp64
305+
# https://github.com/spack/spack-packages/pull/2890
290306
opencascade:
291307
require:
292308
- '@7.8.1:'
@@ -344,6 +360,9 @@ packages:
344360
py-awkward:
345361
require:
346362
- '@2.6.6:'
363+
py-beautifulsoup4:
364+
require:
365+
- '@4.12:'
347366
py-bokeh:
348367
require:
349368
- '@3.5.2:'
@@ -359,6 +378,9 @@ packages:
359378
py-epic-capybara:
360379
require:
361380
- '@git.ef2a8790312b9b697655b28a07b353e601bfa3b8'
381+
py-hatchling:
382+
require:
383+
- '@1.27:'
362384
py-hepunits:
363385
require:
364386
- '@2.3.2:'
@@ -369,6 +391,9 @@ packages:
369391
py-histoprint:
370392
require:
371393
- '@2.4.0:'
394+
py-htgettoken:
395+
require:
396+
- '@1.16-33-g3788bb4'
372397
py-ipython:
373398
require:
374399
- '@8.28:'
@@ -381,25 +406,25 @@ packages:
381406
py-jsonschema:
382407
require:
383408
- +format-nongpl # non-default required for jupyter stack
409+
py-jupyterlab:
410+
require:
411+
- '@4.3.5:'
384412
py-keras:
385413
require:
386414
- '@3.12:'
387415
- backend=tensorflow
388-
py-lmfit:
389-
require:
390-
- '@1.0.2:'
391416
py-llvmlite:
392417
require:
393418
- '@0.44.0'
394-
py-mplhep:
395-
require:
396-
- '@0.4.0:'
397-
py-htgettoken:
419+
py-lmfit:
398420
require:
399-
- '@1.16-33-g3788bb4'
421+
- '@1.0.2:'
400422
py-matplotlib:
401423
require:
402424
- '%clang' # https://github.com/spack/spack-packages/issues/1068
425+
py-mplhep:
426+
require:
427+
- '@0.4.0:'
403428
py-nbformat:
404429
require:
405430
- '@5.8:' # avoid py-jupyter-server and snakemake divergence
@@ -439,6 +464,9 @@ packages:
439464
py-pyyaml:
440465
require:
441466
- '@6.0.2:'
467+
py-rich:
468+
require:
469+
- '@13:'
442470
py-rucio-clients:
443471
require:
444472
- '@37.3.0:'

spack-environment/xl/epic/spack.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ spack:
77
- /opt/spack-environment/xl
88
concretizer:
99
unify: when_possible # multiple epic versions
10+
packages:
11+
geant4:
12+
require:
13+
- +opengl
1014
specs:
1115
- algorithms
1216
- edm4eic

0 commit comments

Comments
 (0)