Skip to content

Commit

Permalink
feat: build using 3.12 RC by default
Browse files Browse the repository at this point in the history
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
  • Loading branch information
henryiii authored and mayeut committed Aug 8, 2023
1 parent df94b5d commit a63e11a
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 8 deletions.
2 changes: 1 addition & 1 deletion README.md
Expand Up @@ -41,7 +41,7 @@ What does it do?
<sup>² Windows arm64 support is experimental.</sup><br>
<sup>³ Alpine 3.14 and very briefly 3.15's default python3 [was not able to load](https://github.com/pypa/cibuildwheel/issues/934) musllinux wheels. This has been fixed; please upgrade the python package if using Alpine from before the fix.</sup><br>
<sup>⁴ Cross-compilation not supported with PyPy - to build these wheels you need to run cibuildwheel on an Apple Silicon machine.</sup><br>
<sup>⁵ CPython 3.12 is available using the [CIBW_PRERELEASE_PYTHONS](https://cibuildwheel.readthedocs.io/en/stable/options/#prerelease-pythons) option.</sup><br>
<sup>⁵ CPython 3.12 is built by default using Python RCs, starting with cibuildwheel 2.15.</sup><br>

- Builds manylinux, musllinux, macOS 10.9+, and Windows wheels for CPython and PyPy
- Works on GitHub Actions, Azure Pipelines, Travis CI, AppVeyor, CircleCI, GitLab CI, and Cirrus CI
Expand Down
2 changes: 1 addition & 1 deletion cibuildwheel/util.py
Expand Up @@ -250,7 +250,7 @@ class BuildSelector:
requires_python: SpecifierSet | None = None

# a pattern that skips prerelease versions, when include_prereleases is False.
PRERELEASE_SKIP: ClassVar[str] = "cp312-*"
PRERELEASE_SKIP: ClassVar[str] = ""
prerelease_pythons: bool = False

def __call__(self, build_id: str) -> bool:
Expand Down
4 changes: 2 additions & 2 deletions unit_test/build_selector_test.py
Expand Up @@ -12,7 +12,7 @@ def test_build():
assert build_selector("cp37-manylinux_x86_64")
assert build_selector("cp310-manylinux_x86_64")
assert build_selector("cp311-manylinux_x86_64")
assert not build_selector("cp312-manylinux_x86_64")
assert build_selector("cp312-manylinux_x86_64")
assert build_selector("pp36-manylinux_x86_64")
assert build_selector("pp37-manylinux_x86_64")
assert build_selector("cp36-manylinux_i686")
Expand All @@ -32,7 +32,7 @@ def test_build():
assert build_selector("cp37-win_amd64")
assert build_selector("cp310-win_amd64")
assert build_selector("cp311-win_amd64")
assert not build_selector("cp312-win_amd64")
assert build_selector("cp312-win_amd64")
assert not build_selector("pp36-win_amd64")
assert not build_selector("pp37-win_amd64")

Expand Down
3 changes: 2 additions & 1 deletion unit_test/linux_build_steps_test.py
Expand Up @@ -62,8 +62,9 @@ def before_alls(step):
"cp36-manylinux_x86_64",
"cp37-manylinux_x86_64",
"cp311-manylinux_x86_64",
"cp312-manylinux_x86_64",
]
assert before_alls(build_steps[0]) == ["", "", ""]
assert before_alls(build_steps[0]) == ["", "", "", ""]

assert build_steps[1].container_image == "other_container_image"
assert identifiers(build_steps[1]) == ["cp38-manylinux_x86_64", "cp310-manylinux_x86_64"]
Expand Down
19 changes: 16 additions & 3 deletions unit_test/option_prepare_test.py
Expand Up @@ -13,7 +13,19 @@
from cibuildwheel import linux, util
from cibuildwheel.__main__ import main

ALL_IDS = {"cp36", "cp37", "cp38", "cp39", "cp310", "cp311", "pp37", "pp38", "pp39", "pp310"}
ALL_IDS = {
"cp36",
"cp37",
"cp38",
"cp39",
"cp310",
"cp311",
"cp312",
"pp37",
"pp38",
"pp39",
"pp310",
}


@pytest.fixture()
Expand Down Expand Up @@ -143,7 +155,7 @@ def test_build_with_override_launches(monkeypatch, tmp_path):
identifiers = {x.identifier for x in kwargs["platform_configs"]}
assert identifiers == {
f"{x}-manylinux_x86_64"
for x in ALL_IDS - {"cp36", "cp310", "cp311", "pp37", "pp38", "pp39", "pp310"}
for x in ALL_IDS - {"cp36", "cp310", "cp311", "cp312", "pp37", "pp38", "pp39", "pp310"}
}
assert kwargs["options"].build_options("cp37-manylinux_x86_64").before_all == ""

Expand All @@ -153,7 +165,8 @@ def test_build_with_override_launches(monkeypatch, tmp_path):
assert not kwargs["container"]["simulate_32_bit"]
identifiers = {x.identifier for x in kwargs["platform_configs"]}
assert identifiers == {
f"{x}-manylinux_x86_64" for x in ["cp310", "cp311", "pp37", "pp38", "pp39", "pp310"]
f"{x}-manylinux_x86_64"
for x in ["cp310", "cp311", "cp312", "pp37", "pp38", "pp39", "pp310"]
}

kwargs = build_in_container.call_args_list[3][1]
Expand Down

0 comments on commit a63e11a

Please sign in to comment.