diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 5181d0a66..6a28dd9b2 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -26,8 +26,8 @@ jobs: [ ubuntu-24.04, ubuntu-24.04-arm, - macos-15, - macos-15-intel, + macos-26, + macos-26-intel, windows-2025, windows-11-arm, ] diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 91907515e..0990bde42 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -44,11 +44,11 @@ jobs: strategy: fail-fast: false matrix: - runs-on: [macos-15, macos-15-intel] + runs-on: [macos-26, macos-26-intel] compiler: [clang] config: [Release] include: - - runs-on: macos-15 + - runs-on: macos-26 compiler: clang config: Debug uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-cpp-tests-macos.yml@b59d15aa4f266e713afad51e132bde6e3a28a6b3 # v1.18.1 @@ -106,7 +106,7 @@ jobs: strategy: fail-fast: false matrix: - runs-on: [macos-14, macos-15, macos-15-intel] + runs-on: [macos-15, macos-15-intel, macos-26, macos-26-intel] compiler: [clang, clang-20, clang-21, gcc-14, gcc-15] config: [Release, Debug] uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-cpp-tests-macos.yml@b59d15aa4f266e713afad51e132bde6e3a28a6b3 # v1.18.1 @@ -171,8 +171,8 @@ jobs: [ ubuntu-24.04, ubuntu-24.04-arm, - macos-15, - macos-15-intel, + macos-26, + macos-26-intel, windows-2025, ] uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-tests.yml@b59d15aa4f266e713afad51e132bde6e3a28a6b3 # v1.18.1 @@ -197,7 +197,7 @@ jobs: strategy: fail-fast: false matrix: - runs-on: [macos-14, windows-2022] + runs-on: [macos-15, macos-15-intel, windows-2022] uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-python-tests.yml@b59d15aa4f266e713afad51e132bde6e3a28a6b3 # v1.18.1 with: runs-on: ${{ matrix.runs-on }} @@ -231,8 +231,8 @@ jobs: [ ubuntu-24.04, ubuntu-24.04-arm, - macos-15, - macos-15-intel, + macos-26, + macos-26-intel, windows-2025, windows-11-arm, ] diff --git a/.github/workflows/upstream.yml b/.github/workflows/upstream.yml index 4492ac141..049f58092 100644 --- a/.github/workflows/upstream.yml +++ b/.github/workflows/upstream.yml @@ -18,7 +18,7 @@ jobs: strategy: fail-fast: false matrix: - runs-on: [ubuntu-24.04, macos-15, windows-2025] + runs-on: [ubuntu-24.04, macos-26, windows-2025] uses: munich-quantum-toolkit/workflows/.github/workflows/reusable-qiskit-upstream-tests.yml@b59d15aa4f266e713afad51e132bde6e3a28a6b3 # v1.18.1 with: runs-on: ${{ matrix.runs-on }} diff --git a/.license-tools-config.json b/.license-tools-config.json index 9c7609caf..b8d77c65a 100644 --- a/.license-tools-config.json +++ b/.license-tools-config.json @@ -38,6 +38,6 @@ "uv\\.lock", "py\\.typed", ".*build.*", - "qmap_patterns.txt" + "LICENSE" ] } diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c66200b22..f5314ed5f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -112,7 +112,7 @@ repos: types_or: [c++, c, cuda] priority: 1 - ## CMake format and lint the CMakeLists.txt files + ## Format the CMakeLists.txt files - repo: https://github.com/cheshirekow/cmake-format-precommit rev: v0.6.13 hooks: @@ -127,7 +127,7 @@ repos: rev: v3.8.1 hooks: - id: prettier - types_or: [yaml, markdown, html, css, scss, javascript, json] + types_or: [yaml, markdown, html, css, scss, javascript, json, json5] priority: 1 ## Python linting using ruff @@ -135,6 +135,7 @@ repos: rev: v0.15.9 hooks: - id: ruff-format + types_or: [python, pyi, jupyter, markdown] priority: 1 - id: ruff-check require_serial: true @@ -142,15 +143,6 @@ repos: # Priority 2+: Final checks and fixers - ## Also run Black on examples in the documentation (needs to run after ruff format) - - repo: https://github.com/adamchainz/blacken-docs - rev: 1.20.0 - hooks: - - id: blacken-docs - language: python - additional_dependencies: [black==26.*] - priority: 2 - ## Static type checking using ty (needs to run after lockfile update/ruff format, and ruff lint) - repo: local hooks: diff --git a/LICENSE.md b/LICENSE similarity index 100% rename from LICENSE.md rename to LICENSE diff --git a/pyproject.toml b/pyproject.toml index 13e54d366..756591d52 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,7 +10,7 @@ requires = [ "nanobind~=2.11.0", "setuptools-scm>=9.2.2", - "scikit-build-core>=0.11.6", + "scikit-build-core>=0.12.2", "mqt.core~=3.4.1", ] build-backend = "scikit_build_core.build" @@ -28,7 +28,7 @@ authors = [ ] keywords = ["MQT", "quantum-computing", "design-automation", "compiler", "clifford-synthesis"] license = "MIT" -license-files = ["LICENSE.md"] +license-files = ["LICENSE"] classifiers = [ "Development Status :: 5 - Production/Stable", @@ -203,6 +203,7 @@ show-fixes = true src = ["python"] [tool.ruff.format] +preview = true docstring-code-format = true [tool.ruff.lint] @@ -298,14 +299,13 @@ iz = "iz" ket = "ket" -[tool.repo-review] -ignore = [ - "GH200", # We use Renovate instead of Dependabot - "MY100", # We use ty instead of mypy - "PC140", # We use ty instead of mypy - "PC160", # We use a mirror of crate-ci/typos - "PC170", # We do not use rST files anymore -] +[tool.repo-review.ignore] +GH200 = "We use Renovate instead of Dependabot" +MY100 = "We use ty instead of mypy" +PC111 = "We use ruff instead of blacken-docs" +PC140 = "We use ty instead of mypy" +PC160 = "We use a mirror of crate-ci/typos" +PC170 = "We do not use rST files anymore" [tool.cibuildwheel] @@ -385,7 +385,7 @@ exclude = [ build = [ "nanobind~=2.11.0", "setuptools-scm>=9.2.2", - "scikit-build-core>=0.11.6", + "scikit-build-core>=0.12.2", "mqt.core~=3.4.1", ] docs = [ diff --git a/uv.lock b/uv.lock index 64067828f..2e6a8ecd5 100644 --- a/uv.lock +++ b/uv.lock @@ -1785,7 +1785,7 @@ provides-extras = ["visualization"] build = [ { name = "mqt-core", specifier = "~=3.4.1" }, { name = "nanobind", specifier = "~=2.11.0" }, - { name = "scikit-build-core", specifier = ">=0.11.6" }, + { name = "scikit-build-core", specifier = ">=0.12.2" }, { name = "setuptools-scm", specifier = ">=9.2.2" }, ] dev = [ @@ -1801,7 +1801,7 @@ dev = [ { name = "pytest-cov", specifier = ">=7.0.0" }, { name = "pytest-sugar", specifier = ">=1.1.1" }, { name = "pytest-xdist", specifier = ">=3.8.0" }, - { name = "scikit-build-core", specifier = ">=0.11.6" }, + { name = "scikit-build-core", specifier = ">=0.12.2" }, { name = "setuptools-scm", specifier = ">=9.2.2" }, { name = "ty", specifier = "==0.0.29" }, { name = "walkerlayout", specifier = ">=1.0.2" }, @@ -2369,7 +2369,7 @@ name = "pexpect" version = "4.9.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "ptyprocess" }, + { name = "ptyprocess", marker = "(python_full_version < '3.11' and sys_platform == 'emscripten') or (python_full_version < '3.11' and sys_platform == 'win32') or (sys_platform != 'emscripten' and sys_platform != 'win32')" }, ] sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f", size = 166450, upload-time = "2023-11-25T09:07:26.339Z" } wheels = [