Skip to content

Commit d1820fc

Browse files
authored
Merge branch 'master' into rattler-build-migration
2 parents 9321553 + 5a5ae78 commit d1820fc

39 files changed

Lines changed: 796 additions & 121 deletions

‎.github/dependabot.yml‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ updates:
55
schedule:
66
interval: "weekly"
77
day: "saturday"
8+
cooldown:
9+
default-days: 7
810
rebase-strategy: "disabled"
911
labels: ["autoupdate"]
1012
groups:
@@ -17,6 +19,8 @@ updates:
1719
schedule:
1820
interval: "weekly"
1921
day: "saturday"
22+
cooldown:
23+
default-days: 7
2024
rebase-strategy: "disabled"
2125
labels: ["autoupdate"]
2226
groups:
@@ -29,6 +33,8 @@ updates:
2933
schedule:
3034
interval: "weekly"
3135
day: "saturday"
36+
cooldown:
37+
default-days: 7
3238
rebase-strategy: "disabled"
3339
labels: ["autoupdate"]
3440
groups:
@@ -40,6 +46,8 @@ updates:
4046
schedule:
4147
interval: "weekly"
4248
day: "saturday"
49+
cooldown:
50+
default-days: 7
4351
rebase-strategy: "disabled"
4452
labels: ["autoupdate"]
4553
groups:

‎.github/workflows/build-sphinx.yml‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ jobs:
9696
- name: Checkout repo
9797
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
9898
with:
99+
persist-credentials: false
99100
fetch-depth: 0
100101

101102
- name: Install conda-merge tool
@@ -238,7 +239,7 @@ jobs:
238239
if: env.GH_EVENT_PR_OPEN == 'true' && steps.check_fork.outputs.is_fork == 'false'
239240
env:
240241
PR_NUM: ${{ github.event.number }}
241-
uses: mshick/add-pr-comment@ec328af66588ab8f77cdeb2c264f14aba45bbf59 # v3.12.0.8.3.12.0
242+
uses: mshick/add-pr-comment@ec328af66588ab8f77cdeb2c264f14aba45bbf59 # v3.12.0
242243
with:
243244
message-id: url_to_docs
244245
message: |
@@ -265,6 +266,7 @@ jobs:
265266
steps:
266267
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
267268
with:
269+
persist-credentials: false
268270
fetch-depth: 0
269271

270272
- name: Remove docs [PR closed]
@@ -282,7 +284,7 @@ jobs:
282284
git push tokened_docs gh-pages
283285
284286
- name: Modify the comment with URL to official documentation
285-
uses: mshick/add-pr-comment@ec328af66588ab8f77cdeb2c264f14aba45bbf59 # v3.12.0.8.3.12.0
287+
uses: mshick/add-pr-comment@ec328af66588ab8f77cdeb2c264f14aba45bbf59 # v3.12.0
286288
with:
287289
message-id: url_to_docs
288290
find: |
Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
name: Bump open source SYCL build deps
2+
3+
# Keeps the pinned oclcpuexp driver (intel/llvm YYYY-WWNN release) and oneTBB
4+
# release used by os-llvm-sycl-build.yml up to date by opening a pull request
5+
# when a newer upstream release is available.
6+
7+
on:
8+
# Check weekly on Saturday, and allow manual runs.
9+
schedule:
10+
- cron: "0 6 * * 6"
11+
workflow_dispatch:
12+
13+
permissions: read-all
14+
15+
# Only one bump run at a time; a newer run supersedes an in-progress one.
16+
concurrency:
17+
group: ${{ github.workflow }}-${{ github.ref }}
18+
cancel-in-progress: true
19+
20+
jobs:
21+
bump:
22+
name: Bump oclcpuexp and oneTBB pins
23+
24+
runs-on: ubuntu-latest
25+
timeout-minutes: 15
26+
27+
permissions:
28+
contents: write
29+
pull-requests: write
30+
31+
env:
32+
WF: .github/workflows/os-llvm-sycl-build.yml
33+
GH_TOKEN: ${{ github.token }}
34+
35+
steps:
36+
- name: Checkout repo
37+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
38+
with:
39+
persist-credentials: false
40+
41+
- name: Find latest intel/llvm driver release tag
42+
id: driver
43+
uses: oprypin/find-latest-tag@6957ac556fa6d349727ecabfcaaf9f8e5ee37124 # v1.1.3
44+
with:
45+
repository: intel/llvm
46+
releases-only: true
47+
# Driver releases are tagged like "2026-WW28"; ignore nightly-* tags.
48+
regex: '^\d{4}-WW\d+$'
49+
# Pick the most recently published matching release. Must stay false:
50+
# sort-tags: true would semver-sort and mis-parse the YYYY-WWNN tag.
51+
sort-tags: false
52+
53+
- name: Find latest oneTBB release tag
54+
id: tbb
55+
uses: oprypin/find-latest-tag@6957ac556fa6d349727ecabfcaaf9f8e5ee37124 # v1.1.3
56+
with:
57+
repository: uxlfoundation/oneTBB
58+
releases-only: true
59+
regex: '^v\d+\.\d+\.\d+$'
60+
# Most recently published matching release (see note above).
61+
sort-tags: false
62+
63+
- name: Resolve asset names and derive values
64+
id: resolve
65+
env:
66+
DRIVER_TAG: ${{ steps.driver.outputs.tag }}
67+
TBB_TAG: ${{ steps.tbb.outputs.tag }}
68+
run: |
69+
set -euo pipefail
70+
71+
# The oclcpuexp filename embeds its own version and is not derivable
72+
# from the tag, so read it back from the driver release assets.
73+
OCLCPUEXP_FN=$(gh api "repos/intel/llvm/releases/tags/${DRIVER_TAG}" \
74+
--jq '.assets[].name' \
75+
| grep -E '^oclcpuexp-.*_rel\.tar\.gz$' | head -1)
76+
if [[ -z "${OCLCPUEXP_FN}" ]]; then
77+
echo "::error::no oclcpuexp asset found in intel/llvm release ${DRIVER_TAG}"
78+
exit 1
79+
fi
80+
81+
# oneTBB filenames are derived from the tag (e.g. v2023.1.0).
82+
TBB_VER=${TBB_TAG#v}
83+
84+
{
85+
echo "driver_tag=${DRIVER_TAG}"
86+
echo "oclcpuexp_fn=${OCLCPUEXP_FN}"
87+
echo "tbb_tag=${TBB_TAG}"
88+
echo "tbb_fn=oneapi-tbb-${TBB_VER}-lin.tgz"
89+
echo "tbb_dir=oneapi-tbb-${TBB_VER}"
90+
} >> "${GITHUB_OUTPUT}"
91+
92+
- name: Apply pins to workflow file
93+
env:
94+
DRIVER_TAG: ${{ steps.resolve.outputs.driver_tag }}
95+
OCLCPUEXP_FN: ${{ steps.resolve.outputs.oclcpuexp_fn }}
96+
TBB_TAG: ${{ steps.resolve.outputs.tbb_tag }}
97+
TBB_FN: ${{ steps.resolve.outputs.tbb_fn }}
98+
TBB_DIR: ${{ steps.resolve.outputs.tbb_dir }}
99+
run: |
100+
set -euo pipefail
101+
# Surgical, comment-preserving edits: rewrite only the value after each
102+
# key and keep indentation. "|" delimiter so the "/"-heavy URL is safe.
103+
sed -i -E \
104+
-e "s|^( *DRIVER_PATH: ).*|\1${DRIVER_TAG}|" \
105+
-e "s|^( *OCLCPUEXP_FN: ).*|\1${OCLCPUEXP_FN}|" \
106+
-e "s|^( *TBB_URL: ).*|\1https://github.com/uxlfoundation/oneTBB/releases/download/${TBB_TAG}/|" \
107+
-e "s|^( *TBB_INSTALL_DIR: ).*|\1${TBB_DIR}|" \
108+
-e "s|^( *TBB_FN: ).*|\1${TBB_FN}|" \
109+
"${WF}"
110+
echo "---- resulting diff ----"
111+
git diff -- "${WF}" || true
112+
113+
- name: Create pull request
114+
uses: peter-evans/create-pull-request@5f6978faf089d4d20b00c7766989d076bb2fc7f1 # v8.1.1
115+
with:
116+
token: ${{ github.token }}
117+
add-paths: ${{ env.WF }}
118+
branch: bot/bump-sycl-build-deps
119+
delete-branch: true
120+
labels: autoupdate
121+
commit-message: |
122+
Bump oclcpuexp/oneTBB pins in os-llvm-sycl-build workflow
123+
124+
driver: ${{ steps.resolve.outputs.driver_tag }} / ${{ steps.resolve.outputs.oclcpuexp_fn }}
125+
oneTBB: ${{ steps.resolve.outputs.tbb_tag }}
126+
title: "Bump open source SYCL build dependencies"
127+
body: |
128+
Automated bump of the pinned open source SYCL build dependencies in
129+
`os-llvm-sycl-build.yml`.
130+
131+
| dependency | new value |
132+
| --- | --- |
133+
| intel/llvm driver release | `${{ steps.resolve.outputs.driver_tag }}` |
134+
| oclcpuexp | `${{ steps.resolve.outputs.oclcpuexp_fn }}` |
135+
| oneTBB | `${{ steps.resolve.outputs.tbb_tag }}` |
136+
137+
The nightly DPC++ compiler is discovered at run time and is not
138+
affected by this change.
139+
140+
Trigger the **Build with Open Source LLVM SYCL compiler** workflow on
141+
this branch to validate before merging.

‎.github/workflows/check-onemath.yaml‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ on:
66
- master
77
pull_request:
88

9-
permissions: read-all
9+
permissions:
10+
contents: read
1011

1112
env:
1213
environment-file: 'environments/environment.yml'
@@ -52,6 +53,7 @@ jobs:
5253
- name: Checkout DPNP repo
5354
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
5455
with:
56+
persist-credentials: false
5557
fetch-depth: 0
5658

5759
- name: Install conda-merge tool
@@ -110,6 +112,7 @@ jobs:
110112
- name: Checkout DPNP repo
111113
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
112114
with:
115+
persist-credentials: false
113116
fetch-depth: 0
114117

115118
- name: Download artifact
@@ -230,6 +233,7 @@ jobs:
230233
- name: Checkout DPNP repo
231234
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
232235
with:
236+
persist-credentials: false
233237
fetch-depth: 0
234238

235239
- name: Download artifact
@@ -241,6 +245,7 @@ jobs:
241245
- name: Checkout oneMKL repo
242246
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
243247
with:
248+
persist-credentials: false
244249
repository: 'oneapi-src/oneMKL'
245250
ref: 'develop'
246251
path: ${{ env.onemkl-source-dir }}

‎.github/workflows/conda-build-test.yml‎

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ on:
2020
required: true
2121
type: string
2222

23-
permissions: read-all
23+
permissions:
24+
contents: read
2425

2526
env:
2627
package-name: dpnp
@@ -47,7 +48,7 @@ jobs:
4748
strategy:
4849
fail-fast: false
4950
matrix:
50-
python: ['3.10', '3.11', '3.12', '3.13']
51+
python: ['3.12', '3.13']
5152
include:
5253
- python: '3.14'
5354
python_spec: '3.14.* *_cp314'
@@ -64,6 +65,7 @@ jobs:
6465
- name: Checkout DPNP repo
6566
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
6667
with:
68+
persist-credentials: false
6769
fetch-depth: 0
6870

6971
- name: Setup miniconda
@@ -91,17 +93,33 @@ jobs:
9193
run: conda list
9294

9395
- name: Store conda paths as envs
96+
env:
97+
CONDA_SUBDIR: ${{ inputs.conda-subdir }}
9498
run: |
95-
echo "CONDA_BLD=$CONDA_PREFIX/conda-bld/${{ inputs.conda-subdir }}/" | tr "\\\\" '/' >> "$GITHUB_ENV"
99+
echo "CONDA_BLD=$CONDA_PREFIX/conda-bld/$CONDA_SUBDIR/" | tr "\\\\" '/' >> "$GITHUB_ENV"
96100
97101
- name: Build conda package
98102
id: build_conda_pkg
99103
continue-on-error: true
100-
run: conda-build --no-test --python "${{ env.python-conda-spec }}" --numpy 2.0 ${{ inputs.channels-list }} ${{ inputs.recipe-dir }}
104+
env:
105+
PYTHON_CONDA_SPEC: ${{ env.python-conda-spec }}
106+
CHANNELS_LIST: ${{ inputs.channels-list }}
107+
RECIPE_DIR: ${{ inputs.recipe-dir }}
108+
run: |
109+
# CHANNELS_LIST must stay unquoted to split into separate CLI args
110+
# shellcheck disable=SC2086
111+
conda-build --no-test --python "$PYTHON_CONDA_SPEC" --numpy 2.0 $CHANNELS_LIST "$RECIPE_DIR"
101112
102113
- name: ReBuild conda package
103114
if: steps.build_conda_pkg.outcome == 'failure'
104-
run: conda-build --no-test --python "${{ env.python-conda-spec }}" --numpy 2.0 ${{ inputs.channels-list }} ${{ inputs.recipe-dir }}
115+
env:
116+
PYTHON_CONDA_SPEC: ${{ env.python-conda-spec }}
117+
CHANNELS_LIST: ${{ inputs.channels-list }}
118+
RECIPE_DIR: ${{ inputs.recipe-dir }}
119+
run: |
120+
# CHANNELS_LIST must stay unquoted to split into separate CLI args
121+
# shellcheck disable=SC2086
122+
conda-build --no-test --python "$PYTHON_CONDA_SPEC" --numpy 2.0 $CHANNELS_LIST "$RECIPE_DIR"
105123
106124
- name: Upload artifact
107125
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
@@ -124,7 +142,7 @@ jobs:
124142
strategy:
125143
fail-fast: false
126144
matrix:
127-
python: ['3.10', '3.11', '3.12', '3.13']
145+
python: ['3.12', '3.13']
128146
include:
129147
- python: '3.14'
130148
python_spec: '3.14.* *_cp314'
@@ -150,6 +168,7 @@ jobs:
150168
- name: Checkout DPNP repo
151169
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
152170
with:
171+
persist-credentials: false
153172
fetch-depth: ${{ env.fetch-depth }}
154173
path: ${{ env.dpnp-repo-path }}
155174

‎.github/workflows/conda-package-cf.yml‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ on:
66
- master
77
pull_request:
88

9-
permissions: read-all
9+
permissions:
10+
contents: read
1011

1112
concurrency:
1213
group: ${{ github.workflow }}-${{ github.ref }}

0 commit comments

Comments
 (0)