Skip to content

Commit 8cd214a

Browse files
authored
Merge branch 'spack:develop' into develop
2 parents a8ed717 + 34d13f5 commit 8cd214a

1,043 files changed

Lines changed: 13979 additions & 6175 deletions

File tree

Some content is hidden

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

.ci/env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
SPACK_CHECKOUT_VERSION=7a17cfcb7affbff3dd84620ee57ead9a0510ff16
1+
SPACK_CHECKOUT_VERSION=84cb7ff86b42e7fa45476750b6729144c58f70dc
22
SPACK_CHECKOUT_REPO=spack/spack

.ci/gitlab/.gitlab-ci.yml

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,14 @@ default:
4646
PIPELINE_MIRROR_TEMPLATE: "multi-src-mirrors.yaml.in"
4747
OIDC_TOKEN_AUDIENCE: "pr_binary_mirror"
4848

49+
.package_on_change: &package_on_change
50+
paths:
51+
- .ci/env
52+
- .ci/gitlab/*
53+
- repos/spack_repo/*
54+
- stacks/$SPACK_CI_STACK_NAME/*
55+
compare_to: HEAD~1
56+
4957
########################################
5058
# Job templates
5159
########################################
@@ -83,6 +91,7 @@ default:
8391
variables:
8492
<<: *common_pr_vars
8593
SPACK_PRUNE_UNTOUCHED: "True"
94+
changes: *package_on_change
8695

8796
- if: $CI_COMMIT_REF_NAME =~ /^pr[\d]+_.*$/ && $CI_PROJECT_NAME == "spack"
8897
# Pipelines on PR branches rebuild only what's missing, and do extra pruning
@@ -116,6 +125,7 @@ default:
116125
--artifacts-root "${CI_PROJECT_DIR}/jobs_scratch_dir/${SPACK_CI_STACK_NAME}"
117126
--output-file "${CI_PROJECT_DIR}/jobs_scratch_dir/${SPACK_CI_STACK_NAME}/cloud-ci-pipeline.yml"
118127
artifacts:
128+
when: always
119129
paths:
120130
- "${CI_PROJECT_DIR}/jobs_scratch_dir"
121131
- "${CI_PROJECT_DIR}/jobs_scratch_dir/${SPACK_CI_STACK_NAME}"
@@ -248,6 +258,30 @@ dotenv:
248258
- python3 write_dotenv.py .ci/env
249259
- cat env
250260

261+
force_pipeline_status:
262+
rules:
263+
- if: $CI_COMMIT_REF_NAME =~ /^pr[\d]+_.*$/ && $CI_PROJECT_NAME == "spack-packages"
264+
changes: *package_on_change
265+
when: never
266+
- if: $CI_PROJECT_NAME == "spack"
267+
when: never
268+
- if: $CI_COMMIT_REF_NAME =~ /^pr[\d]+_.*$/
269+
when: always
270+
- when: never
271+
stage: generate
272+
tags: ["spack", "service_noop"]
273+
retry: 0
274+
allow_failure: true
275+
image: busybox@sha256:37f7b378a29ceb4c551b1b5582e27747b855bbfaa73fa11914fe0df028dc581f
276+
variables:
277+
CI_OIDC_REQUIRED: 0
278+
GIT_STRATEGY: "none"
279+
CI_JOB_SIZE: "small"
280+
KUBERNETES_CPU_REQUEST: "100m"
281+
KUBERNETES_MEMORY_REQUEST: "5M"
282+
script:
283+
- echo "This job is a placeholder job to ensure a pipeline status is posted even if no jobs are run"
284+
251285
########################################
252286
# TEMPLATE FOR ADDING ANOTHER PIPELINE
253287
########################################
@@ -337,7 +371,7 @@ e4s-neoverse-v2-build:
337371

338372
e4s-rocm-external-generate:
339373
extends: [ ".e4s-rocm-external", ".generate-x86_64"]
340-
image: ghcr.io/spack/e4s-rocm-base-x86_64:v7.2.0-1772831027
374+
image: ghcr.io/spack/e4s-rocm-base-x86_64:v7.2.3-1778518886
341375

342376
e4s-rocm-external-build:
343377
extends: [ ".e4s-rocm-external", ".build" ]
@@ -359,7 +393,7 @@ e4s-rocm-external-build:
359393

360394
e4s-oneapi-generate:
361395
extends: [ ".e4s-oneapi", ".generate-x86_64"]
362-
image: ghcr.io/spack/e4s-oneapi-base-x86_64:v2025.3-1772472165
396+
image: ghcr.io/spack/e4s-oneapi-base-x86_64:v2025.3-1777667538
363397

364398
e4s-oneapi-build:
365399
extends: [ ".e4s-oneapi", ".build" ]

.ci/style_check.sh

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,31 +4,36 @@ die() { printf "%b%s%b\n" "\033[31;1m==> " "$1" "\033[0m" >&2; exit 1; }
44
python_files() { git diff --name-only --diff-filter=ACMR -z "$ref" | grep -zE '\.pyi?$'; }
55

66
ref="develop"
7-
flags="--check --diff"
7+
format_flags="--diff"
8+
check_flags="--no-fix"
89

910
while [ $# -gt 0 ]; do
1011
case "$1" in
1112
--help|-h)
1213
echo "$0 [--help] [--fix] [ref]"
1314
exit 0
1415
;;
15-
--fix) flags= ;;
16+
--fix)
17+
format_flags=""
18+
check_flags="--fix"
19+
;;
1620
-*) die "unknown option: $1" ;;
1721
*) ref="$1" ;;
1822
esac
1923
shift
2024
done
25+
26+
# Ref should always be the merge-base to avoid picking up extra files
27+
ref=$(git merge-base $ref HEAD)
28+
2129
if ! python_files > /dev/null; then
2230
info "skipping style checks: no Python files changed"
2331
exit 0
2432
fi
25-
[ -d "spack-core" ] || die "no 'spack-core' dir found: should be a clone of 'spack/spack'"
2633
python_files | xargs -0 printf "%s\n"
27-
info "running flake8"
28-
python_files | xargs -0 -n 100 flake8 || error=1
29-
info "running isort"
30-
python_files | xargs -0 -n 100 isort $flags || error=1
31-
info "running black"
32-
python_files | xargs -0 -n 100 black --color $flags || error=1
34+
info "running ruff format"
35+
python_files | xargs -0 -n 100 ruff format $format_flags || error=1
36+
info "running ruff check"
37+
python_files | xargs -0 -n 100 ruff check $check_flags || error=1
3338
[ "$error" = "1" ] && die "style checks failed"
3439
info "style checks passed"

.flake8

Lines changed: 0 additions & 24 deletions
This file was deleted.

.github/workflows/audit.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ jobs:
2525
run:
2626
shell: ${{ matrix.system.shell }}
2727
steps:
28-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
29-
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405
28+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
29+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
3030
with:
3131
python-version: ${{inputs.python_version}}
3232
- name: Install Python packages

.github/workflows/bootstrap.yml

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ on:
88
- develop
99
- releases/**
1010
paths:
11+
# CI
12+
- '.ci/**'
13+
- '.github/**'
14+
# Build Systems
1115
- 'repos/spack_repo/builtin/build_systems/**'
1216
# Clingo
1317
- 'repos/spack_repo/builtin/packages/clingo/**'
@@ -22,13 +26,11 @@ on:
2226
# Dev dependencies
2327
- 'repos/spack_repo/builtin/packages/python/**'
2428
- 'repos/spack_repo/builtin/packages/python-venv/**'
25-
- 'repos/spack_repo/builtin/packages/py-wheel/**'
26-
- 'repos/spack_repo/builtin/packages/py-setuptools/**'
27-
- 'repos/spack_repo/builtin/packages/py-black/**'
28-
- 'repos/spack_repo/builtin/packages/py-pytest/**'
29-
- 'repos/spack_repo/builtin/packages/py-flake8/**'
30-
- 'repos/spack_repo/builtin/packages/py-isort/**'
3129
- 'repos/spack_repo/builtin/packages/py-mypy/**'
30+
- 'repos/spack_repo/builtin/packages/py-pytest/**'
31+
- 'repos/spack_repo/builtin/packages/py-ruff/**'
32+
- 'repos/spack_repo/builtin/packages/py-setuptools/**'
33+
- 'repos/spack_repo/builtin/packages/py-wheel/**'
3234

3335
schedule:
3436
# nightly at 5:16 AM
@@ -64,7 +66,7 @@ jobs:
6466
make patch unzip which xz python3 python3-devel tree \
6567
cmake bison
6668
- name: Checkout
67-
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
69+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
6870
with:
6971
fetch-depth: 0
7072
- uses: ./.github/actions/checkout-spack
@@ -91,10 +93,10 @@ jobs:
9193
run: |
9294
brew install bison tree
9395
- name: Checkout
94-
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
96+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
9597
with:
9698
fetch-depth: 0
97-
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405
99+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
98100
with:
99101
python-version: "3.12"
100102
- uses: ./.github/actions/checkout-spack
@@ -124,7 +126,7 @@ jobs:
124126
sudo rm $(command -v gpg gpg2 patchelf)
125127
done
126128
- name: Checkout
127-
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
129+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
128130
with:
129131
fetch-depth: 0
130132
- uses: ./.github/actions/checkout-spack
@@ -143,10 +145,10 @@ jobs:
143145
runs-on: "windows-latest"
144146
steps:
145147
- name: Checkout
146-
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
148+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
147149
with:
148150
fetch-depth: 0
149-
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405
151+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
150152
with:
151153
python-version: "3.12"
152154
# TODO: Check why this is needed here and not in spack/spack
@@ -182,7 +184,7 @@ jobs:
182184
bzip2 curl file gcc-c++ gcc gcc-gfortran git gnupg2 gzip \
183185
make patch tcl unzip which xz
184186
- name: Checkout
185-
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
187+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
186188
with:
187189
fetch-depth: 0
188190
- uses: ./.github/actions/checkout-spack
@@ -194,4 +196,4 @@ jobs:
194196
spack debug report
195197
spack -d bootstrap now --dev
196198
source .ci/env
197-
spack -d style -b ${SPACK_CHECKOUT_VERSION} -t black
199+
spack -d style -b ${SPACK_CHECKOUT_VERSION} -t ruff-format

.github/workflows/ci.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@ jobs:
2424
core: ${{ steps.filter.outputs.core }}
2525
packages: ${{ steps.filter.outputs.packages }}
2626
steps:
27-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
27+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
2828
if: ${{ github.event_name == 'push' || github.event_name == 'merge_group' }}
2929
with:
3030
fetch-depth: 0
3131
# For pull requests it's not necessary to checkout the code
32-
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d
32+
- uses: dorny/paths-filter@fbd0ab8f3e69293af611ebaee6363fc25e6d187d # v4.0.1
3333
id: filter
3434
with:
3535
# For merge group events, compare against the target branch (main)

.github/workflows/prechecks.yml

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ jobs:
1717
validate:
1818
runs-on: ubuntu-latest
1919
steps:
20-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
21-
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405
20+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
21+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
2222
with:
2323
python-version: '3.13'
2424
- name: Install Python Packages
@@ -32,19 +32,15 @@ jobs:
3232
style:
3333
runs-on: ubuntu-latest
3434
steps:
35-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
35+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
3636
with:
3737
fetch-depth: 2
38-
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405
38+
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
3939
with:
4040
python-version: '3.13'
4141
- name: Install Python packages
4242
run: |
4343
pip install -r .github/workflows/requirements/style/requirements.txt
44-
- uses: ./.github/actions/checkout-spack
45-
with:
46-
# This path must match the path in pyprojects.toml
47-
path: spack-core
4844
- name: Run style tests
4945
run: .ci/style_check.sh HEAD^
5046
# todo: license check
@@ -62,7 +58,7 @@ jobs:
6258
${{ inputs.with_packages == 'true' }}
6359
runs-on: ubuntu-latest
6460
steps:
65-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
61+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
6662
with:
6763
# Depth 2 is required for this check
6864
fetch-depth: 2
@@ -81,7 +77,7 @@ jobs:
8177
image: ghcr.io/spack/all-pythons:2025-10-10
8278

8379
steps:
84-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
80+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
8581
with:
8682
fetch-depth: 0
8783
- uses: ./.github/actions/checkout-spack
Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
black==25.1.0
21
clingo==5.8.0
3-
flake8==7.2.0
4-
isort==6.0.1
52
mypy==1.15.0
3+
pylint==3.3.7
4+
ruff==0.15.11
65
types-six==1.17.0.20250515
76
vermin==1.8.0
8-
pylint==3.3.7

.github/workflows/stale.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99
stale:
1010
runs-on: ubuntu-latest
1111
steps:
12-
- uses: actions/stale@b5d41d4e1d5dceea10e7104786b73624c18a190f
12+
- uses: actions/stale@eb5cf3af3ac0a1aa4c9c45633dd1ae542a27a899 # v10.3.0
1313
with:
1414
# Issues configuration
1515
stale-issue-message: >

0 commit comments

Comments
 (0)