Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ permissions:
jobs:
build-sdist:
name: 🐍 Packaging
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-sdist.yml@v1.15
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-sdist.yml@v1.16

# Builds wheels on all supported platforms using cibuildwheel.
# The wheels are uploaded as GitHub artifacts `dev-cibw-*` or `cibw-*`, depending on whether
Expand All @@ -31,7 +31,7 @@ jobs:
windows-2022,
windows-11-arm,
]
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-wheel-cibuildwheel.yml@v1.15
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-wheel-cibuildwheel.yml@v1.16
with:
runs-on: ${{ matrix.runs-on }}
setup-z3: true
Expand Down
32 changes: 16 additions & 16 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ concurrency:
jobs:
change-detection:
name: πŸ” Change
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-change-detection.yml@v1.15
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-change-detection.yml@v1.16

cpp-tests-ubuntu:
name: πŸ‡¨β€Œ Test 🐧
Expand All @@ -30,7 +30,7 @@ jobs:
- runs-on: ubuntu-24.04
compiler: gcc
config: Debug
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-cpp-tests-ubuntu.yml@v1.15
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-cpp-tests-ubuntu.yml@v1.16
with:
runs-on: ${{ matrix.runs-on }}
compiler: ${{ matrix.compiler }}
Expand All @@ -51,7 +51,7 @@ jobs:
- runs-on: macos-14
compiler: clang
config: Debug
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-cpp-tests-macos.yml@v1.15
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-cpp-tests-macos.yml@v1.16
with:
runs-on: ${{ matrix.runs-on }}
compiler: ${{ matrix.compiler }}
Expand All @@ -73,7 +73,7 @@ jobs:
- runs-on: windows-2022
compiler: msvc
config: Debug
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-cpp-tests-windows.yml@v1.15
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-cpp-tests-windows.yml@v1.16
with:
runs-on: ${{ matrix.runs-on }}
compiler: ${{ matrix.compiler }}
Expand All @@ -92,7 +92,7 @@ jobs:
[ubuntu-22.04, ubuntu-24.04, ubuntu-22.04-arm, ubuntu-24.04-arm]
compiler: [gcc, clang, clang-19, clang-20]
config: [Release, Debug]
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-cpp-tests-ubuntu.yml@v1.15
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-cpp-tests-ubuntu.yml@v1.16
with:
runs-on: ${{ matrix.runs-on }}
compiler: ${{ matrix.compiler }}
Expand All @@ -116,7 +116,7 @@ jobs:
compiler: gcc-14
- runs-on: macos-15
compiler: gcc-15
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-cpp-tests-macos.yml@v1.15
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-cpp-tests-macos.yml@v1.16
with:
runs-on: ${{ matrix.runs-on }}
compiler: ${{ matrix.compiler }}
Expand All @@ -135,7 +135,7 @@ jobs:
runs-on: [windows-2022, windows-2025, windows-11-arm]
compiler: [msvc, clang]
config: [Release, Debug]
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-cpp-tests-windows.yml@v1.15
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-cpp-tests-windows.yml@v1.16
with:
runs-on: ${{ matrix.runs-on }}
compiler: ${{ matrix.compiler }}
Expand All @@ -146,7 +146,7 @@ jobs:
name: πŸ‡¨β€Œ Coverage
needs: change-detection
if: fromJSON(needs.change-detection.outputs.run-cpp-tests)
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-cpp-coverage.yml@v1.15
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-cpp-coverage.yml@v1.16
with:
setup-z3: true
permissions:
Expand All @@ -158,7 +158,7 @@ jobs:
name: πŸ‡¨β€Œ Lint
needs: change-detection
if: fromJSON(needs.change-detection.outputs.run-cpp-linter)
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-cpp-linter.yml@v1.15
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-cpp-linter.yml@v1.16
with:
clang-version: 20
cmake-args: -DBUILD_MQT_QMAP_BINDINGS=ON
Expand All @@ -176,7 +176,7 @@ jobs:
matrix:
runs-on:
[ubuntu-24.04, ubuntu-24.04-arm, macos-13, macos-14, windows-2022]
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-tests.yml@v1.15
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-tests.yml@v1.16
with:
runs-on: ${{ matrix.runs-on }}
setup-z3: true
Expand All @@ -185,7 +185,7 @@ jobs:
name: 🐍 Coverage
needs: [change-detection, python-tests]
if: fromJSON(needs.change-detection.outputs.run-python-tests)
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-coverage.yml@v1.15
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-coverage.yml@v1.16
permissions:
contents: read
id-token: write
Expand All @@ -202,7 +202,7 @@ jobs:
exclude:
# see https://github.com/munich-quantum-toolkit/qmap/issues/703
- runs-on: macos-15
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-tests.yml@v1.15
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-tests.yml@v1.16
with:
runs-on: ${{ matrix.runs-on }}
setup-z3: true
Expand All @@ -211,23 +211,23 @@ jobs:
name: 🐍 Lint
needs: change-detection
if: fromJSON(needs.change-detection.outputs.run-python-tests)
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-linter.yml@v1.15
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-linter.yml@v1.16
with:
setup-z3: true

code-ql:
name: πŸ“ CodeQL
needs: change-detection
if: fromJSON(needs.change-detection.outputs.run-code-ql)
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-code-ql.yml@v1.15
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-code-ql.yml@v1.16
with:
setup-z3: true

build-sdist:
name: πŸš€ CD
needs: change-detection
if: fromJSON(needs.change-detection.outputs.run-cd)
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-sdist.yml@v1.15
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-sdist.yml@v1.16

build-wheel:
name: πŸš€ CD
Expand All @@ -245,7 +245,7 @@ jobs:
windows-2022,
windows-11-arm,
]
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-wheel-cibuildwheel.yml@v1.15
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-packaging-wheel-cibuildwheel.yml@v1.16
with:
runs-on: ${{ matrix.runs-on }}
setup-z3: true
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/update-mqt-core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ concurrency:
jobs:
update-mqt-core:
name: ⬆️ Update MQT Core
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-mqt-core-update.yml@v1.15
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-mqt-core-update.yml@v1.16
with:
update-to-head: ${{ github.event.inputs.update-to-head == 'true' }}
secrets:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/upstream.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
fail-fast: false
matrix:
runs-on: [ubuntu-24.04, macos-14, windows-2022]
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-qiskit-upstream-tests.yml@v1.15
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-qiskit-upstream-tests.yml@v1.16
with:
runs-on: ${{ matrix.runs-on }}
setup-z3: true
Expand All @@ -28,7 +28,7 @@ jobs:
name: Create issue on failure
needs: qiskit-upstream-tests
if: ${{ always() }}
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-qiskit-upstream-issue.yml@v1.15
uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-qiskit-upstream-issue.yml@v1.16
with:
tests-result: ${{ needs.qiskit-upstream-tests.result }}
permissions:
Expand Down
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ This project adheres to [Semantic Versioning], with the exception that minor rel

## [Unreleased]

### Added

- 🐍 Build Python 3.14 wheels ([#717]) ([**@denialhaag**])

### Fixed

- 🚸 Increase binary compatibility between `mqt-qmap`, `mqt-core`, and `mqt-qcec` ([#714]) ([**@denialhaag**])
Expand Down Expand Up @@ -106,6 +110,7 @@ _πŸ“š Refer to the [GitHub Release Notes] for previous changelogs._

<!-- PR links -->

[#717]: https://github.com/munich-quantum-toolkit/qmap/pull/717
[#715]: https://github.com/munich-quantum-toolkit/qmap/pull/715
[#714]: https://github.com/munich-quantum-toolkit/qmap/pull/714
[#712]: https://github.com/munich-quantum-toolkit/qmap/pull/712
Expand Down
2 changes: 2 additions & 0 deletions noxfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@

nox.options.sessions = ["lint", "tests", "minimums"]

# TODO(denialhaag): Add 3.14 when all dependencies support it
# https://github.com/munich-quantum-toolkit/qmap/issues/718
PYTHON_ALL_VERSIONS = ["3.9", "3.10", "3.11", "3.12", "3.13"]

if os.environ.get("CI", None):
Expand Down
6 changes: 5 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ classifiers = [
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Development Status :: 5 - Production/Stable",
"Typing :: Typed",
]
Expand Down Expand Up @@ -339,6 +340,9 @@ manylinux-s390x-image = "manylinux_2_28"
test-skip = [
"cp3*t-*", # no freethreading qiskit wheels
"cp*-win_arm64", # no numpy, qiskit, ... wheels
# TODO(denialhaag): Remove when all dependencies support Python 3.14
# https://github.com/munich-quantum-toolkit/qmap/issues/718
"cp314-*",
]

# The mqt-core shared libraries are provided by the mqt-core Python package.
Expand All @@ -350,7 +354,7 @@ environment = { Z3_ROOT="/opt/python/cp311-cp311/lib/python3.11/site-packages/z3
before-all = "/opt/python/cp311-cp311/bin/pip install z3-solver==4.12.6"
repair-wheel-command = [
"export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/python/cp311-cp311/lib/python3.11/site-packages/z3/lib",
"""auditwheel repair -w {dest_dir} {wheel} \
"""auditwheel repair -w {dest_dir} {wheel} \
--exclude libmqt-core-ir.so.3.1 \
--exclude libmqt-core-qasm.so.3.1 \
--exclude libmqt-core-circuit-optimizer.so.3.1 \
Expand Down
Loading