Skip to content

Commit 52cf1e7

Browse files
authored
🐍 Start building CPython 3.15 wheels (#2011)
* 🐍 Start building CPython 3.15 wheels * Add entire json directory to test sources
1 parent b3e613f commit 52cf1e7

5 files changed

Lines changed: 25 additions & 21 deletions

File tree

.github/workflows/cd.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ permissions:
1212
jobs:
1313
build-sdist:
1414
name: 🐍 Packaging
15-
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-sdist.yml@973217bac3ad300d9982fffdd3b37a9b5b3a51ea # v2.2.1
15+
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-sdist.yml@579203ef22082fa5d5483412f442e50d0c5ff4a7 # v2.2.2
1616

1717
# Builds wheels on all supported platforms using cibuildwheel.
1818
# The wheels are uploaded as GitHub artifacts `dev-cibw-*` or `cibw-*`, depending on whether the workflow is triggered from a PR or a release.
@@ -30,7 +30,7 @@ jobs:
3030
windows-2025,
3131
windows-11-arm,
3232
]
33-
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-wheel-cibuildwheel.yml@973217bac3ad300d9982fffdd3b37a9b5b3a51ea # v2.2.1
33+
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-wheel-cibuildwheel.yml@579203ef22082fa5d5483412f442e50d0c5ff4a7 # v2.2.2
3434
with:
3535
runs-on: ${{ matrix.runs-on }}
3636

.github/workflows/ci.yml

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ concurrency:
1414
jobs:
1515
change-detection:
1616
name: 🔍 Change
17-
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-change-detection.yml@973217bac3ad300d9982fffdd3b37a9b5b3a51ea # v2.2.1
17+
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-change-detection.yml@579203ef22082fa5d5483412f442e50d0c5ff4a7 # v2.2.2
1818
with:
1919
additional-python-files: "mlir/**"
2020

@@ -32,7 +32,7 @@ jobs:
3232
- runs-on: ubuntu-24.04
3333
compiler: gcc
3434
preset: debug
35-
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-cpp-tests-ubuntu.yml@973217bac3ad300d9982fffdd3b37a9b5b3a51ea # v2.2.1
35+
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-cpp-tests-ubuntu.yml@579203ef22082fa5d5483412f442e50d0c5ff4a7 # v2.2.2
3636
with:
3737
runs-on: ${{ matrix.runs-on }}
3838
compiler: ${{ matrix.compiler }}
@@ -54,7 +54,7 @@ jobs:
5454
- runs-on: macos-26
5555
compiler: clang
5656
preset: debug
57-
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-cpp-tests-macos.yml@973217bac3ad300d9982fffdd3b37a9b5b3a51ea # v2.2.1
57+
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-cpp-tests-macos.yml@579203ef22082fa5d5483412f442e50d0c5ff4a7 # v2.2.2
5858
with:
5959
runs-on: ${{ matrix.runs-on }}
6060
compiler: ${{ matrix.compiler }}
@@ -76,7 +76,7 @@ jobs:
7676
- runs-on: windows-2025
7777
compiler: msvc
7878
preset: debug-windows
79-
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-cpp-tests-windows.yml@973217bac3ad300d9982fffdd3b37a9b5b3a51ea # v2.2.1
79+
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-cpp-tests-windows.yml@579203ef22082fa5d5483412f442e50d0c5ff4a7 # v2.2.2
8080
with:
8181
runs-on: ${{ matrix.runs-on }}
8282
compiler: ${{ matrix.compiler }}
@@ -96,7 +96,7 @@ jobs:
9696
runs-on: [ubuntu-24.04, ubuntu-24.04-arm]
9797
compiler: [gcc, clang, clang-20, clang-21]
9898
preset: [release, debug]
99-
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-cpp-tests-ubuntu.yml@973217bac3ad300d9982fffdd3b37a9b5b3a51ea # v2.2.1
99+
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-cpp-tests-ubuntu.yml@579203ef22082fa5d5483412f442e50d0c5ff4a7 # v2.2.2
100100
with:
101101
runs-on: ${{ matrix.runs-on }}
102102
compiler: ${{ matrix.compiler }}
@@ -115,7 +115,7 @@ jobs:
115115
runs-on: [macos-15, macos-15-intel, macos-26, macos-26-intel]
116116
compiler: [clang, clang-20, clang-21, gcc-14, gcc-15]
117117
preset: [release, debug]
118-
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-cpp-tests-macos.yml@973217bac3ad300d9982fffdd3b37a9b5b3a51ea # v2.2.1
118+
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-cpp-tests-macos.yml@579203ef22082fa5d5483412f442e50d0c5ff4a7 # v2.2.2
119119
with:
120120
runs-on: ${{ matrix.runs-on }}
121121
compiler: ${{ matrix.compiler }}
@@ -134,7 +134,7 @@ jobs:
134134
runs-on: [windows-2022, windows-2025, windows-11-arm]
135135
compiler: [msvc, clang]
136136
preset: [release-windows, debug-windows]
137-
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-cpp-tests-windows.yml@973217bac3ad300d9982fffdd3b37a9b5b3a51ea # v2.2.1
137+
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-cpp-tests-windows.yml@579203ef22082fa5d5483412f442e50d0c5ff4a7 # v2.2.2
138138
with:
139139
runs-on: ${{ matrix.runs-on }}
140140
compiler: ${{ matrix.compiler }}
@@ -147,7 +147,7 @@ jobs:
147147
name: 🇨 Coverage
148148
needs: change-detection
149149
if: fromJSON(needs.change-detection.outputs.run-cpp-tests)
150-
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-cpp-coverage.yml@973217bac3ad300d9982fffdd3b37a9b5b3a51ea # v2.2.1
150+
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-cpp-coverage.yml@579203ef22082fa5d5483412f442e50d0c5ff4a7 # v2.2.2
151151
with:
152152
setup-mlir: true
153153
llvm-version: 22.1.7
@@ -159,7 +159,7 @@ jobs:
159159
name: 🇨 Lint
160160
needs: change-detection
161161
if: fromJSON(needs.change-detection.outputs.run-cpp-linter)
162-
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-cpp-linter.yml@973217bac3ad300d9982fffdd3b37a9b5b3a51ea # v2.2.1
162+
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-cpp-linter.yml@579203ef22082fa5d5483412f442e50d0c5ff4a7 # v2.2.2
163163
with:
164164
clang-version: 22
165165
build-project: true
@@ -188,7 +188,7 @@ jobs:
188188
macos-26-intel,
189189
windows-2025,
190190
]
191-
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-tests.yml@973217bac3ad300d9982fffdd3b37a9b5b3a51ea # v2.2.1
191+
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-tests.yml@579203ef22082fa5d5483412f442e50d0c5ff4a7 # v2.2.2
192192
with:
193193
runs-on: ${{ matrix.runs-on }}
194194
setup-mlir: true
@@ -198,7 +198,7 @@ jobs:
198198
name: 🐍 Coverage
199199
needs: [change-detection, python-tests]
200200
if: fromJSON(needs.change-detection.outputs.run-python-tests)
201-
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-coverage.yml@973217bac3ad300d9982fffdd3b37a9b5b3a51ea # v2.2.1
201+
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-coverage.yml@579203ef22082fa5d5483412f442e50d0c5ff4a7 # v2.2.2
202202
permissions:
203203
contents: read
204204
id-token: write
@@ -212,7 +212,7 @@ jobs:
212212
fail-fast: false
213213
matrix:
214214
runs-on: [macos-15, macos-15-intel, windows-2022]
215-
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-tests.yml@973217bac3ad300d9982fffdd3b37a9b5b3a51ea # v2.2.1
215+
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-tests.yml@579203ef22082fa5d5483412f442e50d0c5ff4a7 # v2.2.2
216216
with:
217217
runs-on: ${{ matrix.runs-on }}
218218
setup-mlir: true
@@ -222,7 +222,7 @@ jobs:
222222
name: 🐍 Lint
223223
needs: change-detection
224224
if: fromJSON(needs.change-detection.outputs.run-python-linter)
225-
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-linter.yml@973217bac3ad300d9982fffdd3b37a9b5b3a51ea # v2.2.1
225+
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-linter.yml@579203ef22082fa5d5483412f442e50d0c5ff4a7 # v2.2.2
226226
with:
227227
check-stubs: true
228228
enable-ty: true
@@ -234,7 +234,7 @@ jobs:
234234
name: 🚀 CD
235235
needs: change-detection
236236
if: fromJSON(needs.change-detection.outputs.run-cd)
237-
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-sdist.yml@973217bac3ad300d9982fffdd3b37a9b5b3a51ea # v2.2.1
237+
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-sdist.yml@579203ef22082fa5d5483412f442e50d0c5ff4a7 # v2.2.2
238238

239239
build-wheel:
240240
name: 🚀 CD
@@ -252,7 +252,7 @@ jobs:
252252
windows-2025,
253253
windows-11-arm,
254254
]
255-
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-wheel-cibuildwheel.yml@973217bac3ad300d9982fffdd3b37a9b5b3a51ea # v2.2.1
255+
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-wheel-cibuildwheel.yml@579203ef22082fa5d5483412f442e50d0c5ff4a7 # v2.2.2
256256
with:
257257
runs-on: ${{ matrix.runs-on }}
258258
setup-mlir: true

.github/workflows/upstream.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
fail-fast: false
2020
matrix:
2121
runs-on: [ubuntu-24.04, macos-15, windows-2025]
22-
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-qiskit-upstream-tests.yml@973217bac3ad300d9982fffdd3b37a9b5b3a51ea # v2.2.1
22+
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-qiskit-upstream-tests.yml@579203ef22082fa5d5483412f442e50d0c5ff4a7 # v2.2.2
2323
with:
2424
runs-on: ${{ matrix.runs-on }}
2525
setup-z3: true
@@ -30,7 +30,7 @@ jobs:
3030
name: Create issue on failure
3131
needs: qiskit-upstream-tests
3232
if: ${{ always() }}
33-
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-qiskit-upstream-issue.yml@973217bac3ad300d9982fffdd3b37a9b5b3a51ea # v2.2.1
33+
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-qiskit-upstream-issue.yml@579203ef22082fa5d5483412f442e50d0c5ff4a7 # v2.2.2
3434
with:
3535
tests-result: ${{ needs.qiskit-upstream-tests.result }}
3636
permissions:

CHANGELOG.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ releases may include breaking changes.
1212

1313
### Added
1414

15+
- 🐍 Start building CPython 3.15 wheels ([#2011]) ([**@denialhaag**])
1516
- ✨ Add PennyLane support for gate-based QDMI devices ([#2005])
1617
([**@burgholzer**])
1718
- ✨ Integrate QDMI devices as MLIR compiler targets across C++, Python, and
@@ -538,7 +539,7 @@ _If you are upgrading: please see [`UPGRADING.md`](UPGRADING.md#320)._
538539

539540
### Added
540541

541-
- 🐍 Build Python 3.14 wheels ([#1076]) ([**@denialhaag**])
542+
- 🐍 Start building CPython 3.14 wheels ([#1076]) ([**@denialhaag**])
542543
- ✨ Add MQT-internal MLIR dialect conversions ([#1001]) ([**@li-mingbao**])
543544

544545
### Changed
@@ -720,6 +721,7 @@ for previous changelogs._
720721

721722
<!-- PR links -->
722723

724+
[#2011]: https://github.com/munich-quantum-toolkit/core/pull/2011
723725
[#2007]: https://github.com/munich-quantum-toolkit/core/pull/2007
724726
[#2006]: https://github.com/munich-quantum-toolkit/core/pull/2006
725727
[#2005]: https://github.com/munich-quantum-toolkit/core/pull/2005

pyproject.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ classifiers = [
4141
"Programming Language :: Python :: 3.12",
4242
"Programming Language :: Python :: 3.13",
4343
"Programming Language :: Python :: 3.14",
44+
"Programming Language :: Python :: 3.15",
4445
"Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)",
4546
"Typing :: Typed",
4647
]
@@ -273,12 +274,13 @@ build = "cp3*"
273274
skip = ["*-musllinux_*"]
274275
archs = "auto64"
275276
test-groups = ["test"]
276-
test-sources = ["test/python", "test/circuits", "json/na"]
277+
test-sources = ["test/python", "test/circuits", "json"]
277278
test-command = "pytest test/python"
278279
build-frontend = "uv"
279280
test-skip = [
280281
"cp3??t-*", # no freethreading qiskit wheels
281282
"cp*-win_arm64", # no numpy, qiskit, ... wheels
283+
"cp315*", # no 3.15 wheels yet
282284
]
283285

284286
[tool.cibuildwheel.linux]

0 commit comments

Comments
 (0)