Build mypyc wheels for CPython 3.11 (#3276)

Bumps cibuildwheel from 2.8.1 to 2.10.0 which has 3.11 building enabled
by default. Unfortunately mypyc errors out on 3.11:

src/black/files.py:29:9: error: Name "tomllib" already defined (by an import)  [no-redef]

... so we have to also hide the fallback import of tomli on older 3.11
alphas from mypy[c].
This commit is contained in:
Richard Si 2022-09-22 23:11:56 -04:00 committed by GitHub
parent 6ae8457a86
commit 75d5c0e3fb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 9 additions and 2 deletions

View File

@ -58,7 +58,7 @@ jobs:
- uses: actions/checkout@v3
- name: Build wheels via cibuildwheel
uses: pypa/cibuildwheel@v2.8.1
uses: pypa/cibuildwheel@v2.10.0
env:
CIBW_ARCHS_MACOS: "${{ matrix.macos_arch }}"
# This isn't supported in pyproject.toml which makes sense (but is annoying).

View File

@ -25,6 +25,8 @@
<!-- Changes to how Black is packaged, such as dependency requirements -->
- Faster compiled wheels are now available for CPython 3.11 (#3276)
### Parser
<!-- Changes to the parser or to version autodetection -->

View File

@ -55,6 +55,9 @@ MYPYC_DEBUG_LEVEL = "0"
# The dependencies required to build wheels with mypyc aren't specified in
# [build-system].requires so we'll have to manage the build environment ourselves.
PIP_NO_BUILD_ISOLATION = "no"
# CPython 3.11 wheels aren't available for aiohttp and building a Cython extension
# from source also doesn't work.
AIOHTTP_NO_EXTENSIONS = "1"
[tool.cibuildwheel.linux]
before-build = [
@ -69,6 +72,7 @@ MYPYC_DEBUG_LEVEL = "0"
PIP_NO_BUILD_ISOLATION = "no"
# Black needs Clang to compile successfully on Linux.
CC = "clang"
AIOHTTP_NO_EXTENSIONS = "1"
[tool.cibuildwheel.windows]
# For some reason, (compiled) mypyc is failing to start up with "ImportError: DLL load

View File

@ -26,7 +26,8 @@
import tomllib
except ImportError:
# Help users on older alphas
import tomli as tomllib
if not TYPE_CHECKING:
import tomli as tomllib
else:
import tomli as tomllib