✨ Switch to mqt-core
Python package
#64
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CD | |
on: | |
release: | |
types: [published] | |
workflow_dispatch: | |
pull_request: | |
paths: | |
- .github/workflows/cd.yml # This is to make sure changes to the CD workflow are tested before deployment. | |
jobs: | |
# python-packaging: | |
# name: 🐍 Packaging | |
# uses: cda-tum/mqt-workflows/.github/workflows/reusable-python-packaging.yml@v1.3 | |
experimental-free-threading-1: | |
name: 🧵 Free Threading - build[uv] - MSVC | |
runs-on: windows-latest | |
steps: | |
# check out the repository (including submodules and all history) | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
# set up MSVC development environment (Windows only) | |
- uses: ilammy/msvc-dev-cmd@v1 | |
# set up uv for faster Python package management | |
- uses: yezz123/setup-uv@v4 | |
- name: Install Python 3.13t from nuget | |
run: | | |
nuget.exe install python-freethreaded -Version 3.13.0-rc1 -FallbackSource https://api.nuget.org/v3/index.json -OutputDirectory 'C:\Users\runneradmin\AppData\Local\test\Cache\nuget-cpython' | |
- name: Setup venv | |
run: | | |
C:\Users\runneradmin\AppData\Local\test\Cache\nuget-cpython\python-freethreaded.3.13.0-rc1\tools\python.exe -m venv venv | |
- name: Build the project | |
run: | | |
venv\Scripts\python.exe -m pip install build[uv] | |
venv\Scripts\python.exe -m build --wheel --installer=uv | |
experimental-free-threading-2: | |
name: 🧵 Free Threading - build[uv] - ClangCL | |
runs-on: windows-latest | |
steps: | |
# check out the repository (including submodules and all history) | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
# set up MSVC development environment (Windows only) | |
- uses: ilammy/msvc-dev-cmd@v1 | |
# set up uv for faster Python package management | |
- uses: yezz123/setup-uv@v4 | |
- name: Install Python 3.13t from nuget | |
run: | | |
nuget.exe install python-freethreaded -Version 3.13.0-rc1 -FallbackSource https://api.nuget.org/v3/index.json -OutputDirectory 'C:\Users\runneradmin\AppData\Local\test\Cache\nuget-cpython' | |
- name: Setup venv | |
run: | | |
C:\Users\runneradmin\AppData\Local\test\Cache\nuget-cpython\python-freethreaded.3.13.0-rc1\tools\python.exe -m venv venv | |
- name: Build the project | |
env: | |
CMAKE_ARGS: "-T ClangCL" | |
run: | | |
venv\Scripts\python.exe -m pip install build[uv] | |
venv\Scripts\python.exe -m build --wheel --installer=uv | |
experimental-free-threading-3: | |
name: 🧵 Free Threading - uv - ClangCL | |
runs-on: windows-latest | |
steps: | |
# check out the repository (including submodules and all history) | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
# set up MSVC development environment (Windows only) | |
- uses: ilammy/msvc-dev-cmd@v1 | |
# set up uv for faster Python package management | |
- uses: yezz123/setup-uv@v4 | |
- name: Install Python 3.13t from nuget | |
run: | | |
nuget.exe install python-freethreaded -Version 3.13.0-rc1 -FallbackSource https://api.nuget.org/v3/index.json -OutputDirectory 'C:\Users\runneradmin\AppData\Local\test\Cache\nuget-cpython' | |
- name: Setup uv venv | |
run: uv.exe venv --python "C:\Users\runneradmin\AppData\Local\test\Cache\nuget-cpython\python-freethreaded.3.13.0-rc1\tools\python.exe" | |
- name: Build the project | |
env: | |
CMAKE_ARGS: "-T ClangCL" | |
run: uv.exe pip install -vvv . | |
experimental-free-threading-4: | |
name: 🧵 Free Threading - uv - MSVC | |
runs-on: windows-latest | |
steps: | |
# check out the repository (including submodules and all history) | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
# set up MSVC development environment (Windows only) | |
- uses: ilammy/msvc-dev-cmd@v1 | |
# set up uv for faster Python package management | |
- uses: yezz123/setup-uv@v4 | |
- name: Install Python 3.13t from nuget | |
run: | | |
nuget.exe install python-freethreaded -Version 3.13.0-rc1 -FallbackSource https://api.nuget.org/v3/index.json -OutputDirectory 'C:\Users\runneradmin\AppData\Local\test\Cache\nuget-cpython' | |
- name: Reset uv venv | |
run: uv.exe venv --python "C:\Users\runneradmin\AppData\Local\test\Cache\nuget-cpython\python-freethreaded.3.13.0-rc1\tools\python.exe" | |
- name: Build the project | |
run: uv.exe pip install -vvv . | |
experimental-free-threading-5: | |
name: 🧵 Free Threading - cibuidlwheel[uv] - ClangCL | |
runs-on: windows-latest | |
steps: | |
# check out the repository (including submodules and all history) | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
# set up MSVC development environment (Windows only) | |
- uses: ilammy/msvc-dev-cmd@v1 | |
# set up uv for faster Python package management | |
- uses: yezz123/setup-uv@v4 | |
- uses: pypa/cibuildwheel@v2.20 | |
env: | |
CIBW_ENVIRONMENT: CMAKE_ARGS="-T ClangCL" | |
CIBW_BUILD: cp313t* | |
CIBW_BUILD_VERBOSITY: 1 | |
experimental-free-threading-6: | |
name: 🧵 Free Threading - cibuidlwheel[uv] - MSVC | |
runs-on: windows-latest | |
steps: | |
# check out the repository (including submodules and all history) | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
# set up MSVC development environment (Windows only) | |
- uses: ilammy/msvc-dev-cmd@v1 | |
# set up uv for faster Python package management | |
- uses: yezz123/setup-uv@v4 | |
- uses: pypa/cibuildwheel@v2.20 | |
env: | |
CIBW_ENVIRONMENT: CMAKE_ARGS="" CMAKE_GENERATOR="Ninja" | |
CIBW_BUILD: cp313t* | |
CIBW_BUILD_VERBOSITY: 1 | |
experimental-312: | |
name: 🧵 Free Threading - uv - MSVC | |
runs-on: windows-latest | |
steps: | |
# check out the repository (including submodules and all history) | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
# set up MSVC development environment (Windows only) | |
- uses: ilammy/msvc-dev-cmd@v1 | |
# set up uv for faster Python package management | |
- uses: yezz123/setup-uv@v4 | |
- name: Setup venv | |
run: uv.exe venv --python 3.12 | |
- name: Build the project | |
run: uv.exe pip install -vvv . | |
# deploy: | |
# if: github.event_name == 'release' && github.event.action == 'published' | |
# name: 🚀 Deploy to PyPI | |
# runs-on: ubuntu-latest | |
# environment: | |
# name: pypi | |
# url: https://pypi.org/p/mqt.qcec | |
# permissions: | |
# id-token: write | |
# attestations: write | |
# contents: read | |
# needs: [python-packaging] | |
# steps: | |
# - uses: actions/download-artifact@v4 | |
# with: | |
# pattern: cibw-* | |
# path: dist | |
# merge-multiple: true | |
# - name: Generate artifact attestation for sdist and wheel(s) | |
# uses: actions/attest-build-provenance@v1.4.2 | |
# with: | |
# subject-path: "dist/*" | |
# - uses: pypa/gh-action-pypi-publish@release/v1 |