Skip to content

Commit 2739c8f

Browse files
authored
Merge pull request #511 from FNALssi/maintenance/merge-from-upstream-2025-02-25
Merge fron upstream 2025-02-25
2 parents 7287e84 + 05f0f64 commit 2739c8f

File tree

969 files changed

+15071
-9743
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

969 files changed

+15071
-9743
lines changed

.github/workflows/build-containers.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -40,17 +40,17 @@ jobs:
4040
# 1: Platforms to build for
4141
# 2: Base image (e.g. ubuntu:22.04)
4242
dockerfile: [[amazon-linux, 'linux/amd64,linux/arm64', 'amazonlinux:2'],
43-
[centos-stream9, 'linux/amd64,linux/arm64,linux/ppc64le', 'centos:stream9'],
44-
[leap15, 'linux/amd64,linux/arm64,linux/ppc64le', 'opensuse/leap:15'],
45-
[ubuntu-focal, 'linux/amd64,linux/arm64,linux/ppc64le', 'ubuntu:20.04'],
46-
[ubuntu-jammy, 'linux/amd64,linux/arm64,linux/ppc64le', 'ubuntu:22.04'],
47-
[ubuntu-noble, 'linux/amd64,linux/arm64,linux/ppc64le', 'ubuntu:24.04'],
48-
[almalinux8, 'linux/amd64,linux/arm64,linux/ppc64le', 'almalinux:8'],
49-
[almalinux9, 'linux/amd64,linux/arm64,linux/ppc64le', 'almalinux:9'],
43+
[centos-stream9, 'linux/amd64,linux/arm64', 'centos:stream9'],
44+
[leap15, 'linux/amd64,linux/arm64', 'opensuse/leap:15'],
45+
[ubuntu-focal, 'linux/amd64,linux/arm64', 'ubuntu:20.04'],
46+
[ubuntu-jammy, 'linux/amd64,linux/arm64', 'ubuntu:22.04'],
47+
[ubuntu-noble, 'linux/amd64,linux/arm64', 'ubuntu:24.04'],
48+
[almalinux8, 'linux/amd64,linux/arm64', 'almalinux:8'],
49+
[almalinux9, 'linux/amd64,linux/arm64', 'almalinux:9'],
5050
[rockylinux8, 'linux/amd64,linux/arm64', 'rockylinux:8'],
5151
[rockylinux9, 'linux/amd64,linux/arm64', 'rockylinux:9'],
52-
[fedora39, 'linux/amd64,linux/arm64,linux/ppc64le', 'fedora:39'],
53-
[fedora40, 'linux/amd64,linux/arm64,linux/ppc64le', 'fedora:40']]
52+
[fedora39, 'linux/amd64,linux/arm64', 'fedora:39'],
53+
[fedora40, 'linux/amd64,linux/arm64', 'fedora:40']]
5454
name: Build ${{ matrix.dockerfile[0] }}
5555
if: github.repository == 'spack/spack'
5656
steps:

.github/workflows/ci.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,10 @@ jobs:
8383
with:
8484
with_coverage: ${{ needs.changes.outputs.core }}
8585

86+
import-check:
87+
needs: [ changes ]
88+
uses: ./.github/workflows/import-check.yaml
89+
8690
all-prechecks:
8791
needs: [ prechecks ]
8892
if: ${{ always() }}

.github/workflows/coverage.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,4 @@ jobs:
3333
with:
3434
verbose: true
3535
fail_ci_if_error: false
36+
token: ${{ secrets.CODECOV_TOKEN }}
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: import-check
2+
3+
on:
4+
workflow_call:
5+
6+
jobs:
7+
# Check we don't make the situation with circular imports worse
8+
import-check:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- uses: julia-actions/setup-julia@v2
12+
with:
13+
version: '1.10'
14+
- uses: julia-actions/cache@v2
15+
16+
# PR: use the base of the PR as the old commit
17+
- name: Checkout PR base commit
18+
if: github.event_name == 'pull_request'
19+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
20+
with:
21+
ref: ${{ github.event.pull_request.base.sha }}
22+
path: old
23+
# not a PR: use the previous commit as the old commit
24+
- name: Checkout previous commit
25+
if: github.event_name != 'pull_request'
26+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
27+
with:
28+
fetch-depth: 2
29+
path: old
30+
- name: Checkout previous commit
31+
if: github.event_name != 'pull_request'
32+
run: git -C old reset --hard HEAD^
33+
34+
- name: Checkout new commit
35+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
36+
with:
37+
path: new
38+
- name: Install circular import checker
39+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
40+
with:
41+
repository: haampie/circular-import-fighter
42+
ref: 4cdb0bf15f04ab6b49041d5ef1bfd9644cce7f33
43+
path: circular-import-fighter
44+
- name: Install dependencies
45+
working-directory: circular-import-fighter
46+
run: make -j dependencies
47+
- name: Circular import check
48+
working-directory: circular-import-fighter
49+
run: make -j compare "SPACK_ROOT=../old ../new"
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
black==24.10.0
1+
black==25.1.0
22
clingo==5.7.1
3-
flake8==7.1.1
4-
isort==5.13.2
5-
mypy==1.11.2
3+
flake8==7.1.2
4+
isort==6.0.0
5+
mypy==1.15.0
66
types-six==1.17.0.20241205
77
vermin==1.6.0

.github/workflows/valid-style.yml

Lines changed: 0 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -86,66 +86,6 @@ jobs:
8686
spack -d bootstrap now --dev
8787
spack -d style -t black
8888
spack unit-test -V
89-
# Check we don't make the situation with circular imports worse
90-
import-check:
91-
runs-on: ubuntu-latest
92-
steps:
93-
- uses: julia-actions/setup-julia@v2
94-
with:
95-
version: '1.10'
96-
- uses: julia-actions/cache@v2
97-
98-
# PR: use the base of the PR as the old commit
99-
- name: Checkout PR base commit
100-
if: github.event_name == 'pull_request'
101-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
102-
with:
103-
ref: ${{ github.event.pull_request.base.sha }}
104-
path: old
105-
# not a PR: use the previous commit as the old commit
106-
- name: Checkout previous commit
107-
if: github.event_name != 'pull_request'
108-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
109-
with:
110-
fetch-depth: 2
111-
path: old
112-
- name: Checkout previous commit
113-
if: github.event_name != 'pull_request'
114-
run: git -C old reset --hard HEAD^
115-
116-
- name: Checkout new commit
117-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
118-
with:
119-
path: new
120-
- name: Install circular import checker
121-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
122-
with:
123-
repository: haampie/circular-import-fighter
124-
ref: b5d6ce9be35f602cca7d5a6aa0259fca10639cca
125-
path: circular-import-fighter
126-
- name: Install dependencies
127-
working-directory: circular-import-fighter
128-
run: make -j dependencies
129-
- name: Problematic imports before
130-
working-directory: circular-import-fighter
131-
run: make SPACK_ROOT=../old SUFFIX=.old
132-
- name: Problematic imports after
133-
working-directory: circular-import-fighter
134-
run: make SPACK_ROOT=../new SUFFIX=.new
135-
- name: Compare import cycles
136-
working-directory: circular-import-fighter
137-
run: |
138-
edges_before="$(head -n1 solution.old)"
139-
edges_after="$(head -n1 solution.new)"
140-
if [ "$edges_after" -gt "$edges_before" ]; then
141-
printf '\033[1;31mImport check failed: %s imports need to be deleted, ' "$edges_after"
142-
printf 'previously this was %s\033[0m\n' "$edges_before"
143-
printf 'Compare \033[1;97m"Problematic imports before"\033[0m and '
144-
printf '\033[1;97m"Problematic imports after"\033[0m.\n'
145-
exit 1
146-
else
147-
printf '\033[1;32mImport check passed: %s <= %s\033[0m\n' "$edges_after" "$edges_before"
148-
fi
14989
15090
# Further style checks from pylint
15191
pylint:

bin/spack

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ exit 1
2525
# The code above runs this file with our preferred python interpreter.
2626

2727
import os
28-
import os.path
2928
import sys
3029

3130
min_python3 = (3, 6)

etc/spack/defaults/concretizer.yaml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,22 @@ concretizer:
4343
# (e.g. py-setuptools, cmake etc.)
4444
# "full" (experimental): allows separation of the entire build-tool stack (e.g. the entire "cmake" subDAG)
4545
strategy: minimal
46+
# Maximum number of duplicates in a DAG, when using a strategy that allows duplicates. "default" is the
47+
# number used if there isn't a more specific alternative
48+
max_dupes:
49+
default: 1
50+
# Virtuals
51+
c: 2
52+
cxx: 2
53+
fortran: 1
54+
# Regular packages
55+
cmake: 2
56+
gmake: 2
57+
py-cython: 2
58+
py-flit-core: 2
59+
py-setuptools: 2
60+
gcc: 2
61+
llvm: 2
4662
# Option to specify compatibility between operating systems for reuse of compilers and packages
4763
# Specified as a key: [list] where the key is the os that is being targeted, and the list contains the OS's
4864
# it can reuse. Note this is a directional compatibility so mutual compatibility between two OS's
@@ -63,3 +79,7 @@ concretizer:
6379
# Setting this to false yields unreproducible results, so we advise to use that value only
6480
# for debugging purposes (e.g. check which constraints can help Spack concretize faster).
6581
error_on_timeout: true
82+
83+
# Static analysis may reduce the concretization time by generating smaller ASP problems, in
84+
# cases where there are requirements that prevent part of the search space to be explored.
85+
static_analysis: false

etc/spack/defaults/packages.yaml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ packages:
3636
go-or-gccgo-bootstrap: [go-bootstrap, gcc]
3737
iconv: [libiconv]
3838
ipp: [intel-oneapi-ipp]
39-
java: [openjdk, jdk, ibm-java]
39+
java: [openjdk, jdk]
4040
jpeg: [libjpeg-turbo, libjpeg]
4141
lapack: [openblas, amdlibflame]
4242
libc: [glibc, musl]
@@ -1268,15 +1268,27 @@ packages:
12681268
permissions:
12691269
read: world
12701270
write: user
1271+
cray-fftw:
1272+
buildable: false
1273+
cray-libsci:
1274+
buildable: false
12711275
cray-mpich:
12721276
buildable: false
12731277
cray-mvapich2:
12741278
buildable: false
1279+
cray-pmi:
1280+
buildable: false
12751281
egl:
12761282
buildable: false
1283+
essl:
1284+
buildable: false
12771285
fujitsu-mpi:
12781286
buildable: false
1287+
fujitsu-ssl2:
1288+
buildable: false
12791289
hpcx-mpi:
12801290
buildable: false
1291+
mpt:
1292+
buildable: false
12811293
spectrum-mpi:
12821294
buildable: false
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
config:
22
locks: false
33
build_stage::
4-
- '$spack/.staging'
4+
- '$user_cache_path/stage'
55
stage_name: '{name}-{version}-{hash:7}'

0 commit comments

Comments
 (0)