diff --git a/cibuildwheel/resources/defaults.toml b/cibuildwheel/resources/defaults.toml index 5890c8edf..0c74a0d2a 100644 --- a/cibuildwheel/resources/defaults.toml +++ b/cibuildwheel/resources/defaults.toml @@ -19,14 +19,14 @@ before-test = "" test-requires = [] test-extras = [] -manylinux-x86_64-image = "manylinux2014" +manylinux-x86_64-image = "manylinux_2_28" manylinux-i686-image = "manylinux2014" -manylinux-aarch64-image = "manylinux2014" -manylinux-ppc64le-image = "manylinux2014" +manylinux-aarch64-image = "manylinux_2_28" +manylinux-ppc64le-image = "manylinux_2_28" manylinux-s390x-image = "manylinux2014" -manylinux-pypy_x86_64-image = "manylinux2014" +manylinux-pypy_x86_64-image = "manylinux_2_28" manylinux-pypy_i686-image = "manylinux2014" -manylinux-pypy_aarch64-image = "manylinux2014" +manylinux-pypy_aarch64-image = "manylinux_2_28" musllinux-x86_64-image = "musllinux_1_1" musllinux-i686-image = "musllinux_1_1" diff --git a/test/test_docker_images.py b/test/test_docker_images.py index 8318a64ea..4bab5d34e 100644 --- a/test/test_docker_images.py +++ b/test/test_docker_images.py @@ -24,7 +24,7 @@ def test(tmp_path): if utils.platform != "linux": pytest.skip("the test is only relevant to the linux build") - if platform.machine() not in ["x86_64", "i686"]: + if platform.machine() not in ["i686"]: pytest.skip( "this test is currently only possible on x86_64/i686 due to availability of alternative images" ) diff --git a/test/utils.py b/test/utils.py index 0248a7c15..6848d9b29 100644 --- a/test/utils.py +++ b/test/utils.py @@ -121,13 +121,22 @@ def expected_wheels( if manylinux_versions is None: if machine_arch == "x86_64": manylinux_versions = [ + "manylinux_2_5", + "manylinux1", + "manylinux_2_28", + ] + manylinux_versions_i686 = [ "manylinux_2_5", "manylinux1", "manylinux_2_17", "manylinux2014", ] - else: + elif machine_arch == "s390x": manylinux_versions = ["manylinux_2_17", "manylinux2014"] + else: + manylinux_versions = ["manylinux_2_17", "manylinux2014", "manylinux_2_28"] + else: + manylinux_versions_i686 = manylinux_versions if musllinux_versions is None: musllinux_versions = ["musllinux_1_1"] @@ -149,9 +158,6 @@ def expected_wheels( if platform == "linux": architectures = [machine_arch] - if machine_arch == "x86_64": - architectures.append("i686") - platform_tags = [ ".".join( f"{manylinux_version}_{architecture}" @@ -159,6 +165,18 @@ def expected_wheels( ) for architecture in architectures ] + if machine_arch == "x86_64": + architectures.append("i686") + + platform_tags.extend( + [ + ".".join( + f"{manylinux_version}_i686" + for manylinux_version in manylinux_versions_i686 + ) + ] + ) + if len(musllinux_versions) > 0 and not python_abi_tag.startswith("pp"): platform_tags.extend( [ diff --git a/unit_test/main_tests/main_options_test.py b/unit_test/main_tests/main_options_test.py index e8ca02fa0..f4b7a7b33 100644 --- a/unit_test/main_tests/main_options_test.py +++ b/unit_test/main_tests/main_options_test.py @@ -71,7 +71,7 @@ def test_empty_selector(platform, intercepted_build_args, monkeypatch): @pytest.mark.parametrize( "architecture, image, full_image", [ - ("x86_64", None, "quay.io/pypa/manylinux2014_x86_64:*"), + ("x86_64", None, "quay.io/pypa/manylinux_2_28_poc_x86_64:*"), ("x86_64", "manylinux1", "quay.io/pypa/manylinux1_x86_64:*"), ("x86_64", "manylinux2010", "quay.io/pypa/manylinux2010_x86_64:*"), ("x86_64", "manylinux2014", "quay.io/pypa/manylinux2014_x86_64:*"), @@ -84,7 +84,7 @@ def test_empty_selector(platform, intercepted_build_args, monkeypatch): ("i686", "manylinux2014", "quay.io/pypa/manylinux2014_i686:*"), ("i686", "manylinux_2_24", "quay.io/pypa/manylinux_2_24_i686:*"), ("i686", "custom_image", "custom_image"), - ("pypy_x86_64", None, "quay.io/pypa/manylinux2014_x86_64:*"), + ("pypy_x86_64", None, "quay.io/pypa/manylinux_2_28_poc_x86_64:*"), ("pypy_x86_64", "manylinux1", "manylinux1"), # Does not exist ("pypy_x86_64", "manylinux2010", "quay.io/pypa/manylinux2010_x86_64:*"), ("pypy_x86_64", "manylinux2014", "quay.io/pypa/manylinux2014_x86_64:*"), diff --git a/unit_test/option_prepare_test.py b/unit_test/option_prepare_test.py index 354cda4a6..1631271bc 100644 --- a/unit_test/option_prepare_test.py +++ b/unit_test/option_prepare_test.py @@ -52,7 +52,7 @@ def test_build_default_launches(mock_build_docker, fake_package_dir, monkeypatch # In Python 3.8+, this can be simplified to [0].kwargs kwargs = build_on_docker.call_args_list[0][1] - assert "quay.io/pypa/manylinux2014_x86_64" in kwargs["docker"]["docker_image"] + assert "quay.io/pypa/manylinux_2_28_poc_x86_64" in kwargs["docker"]["docker_image"] assert kwargs["docker"]["cwd"] == Path("/project") assert not kwargs["docker"]["simulate_32_bit"] diff --git a/unit_test/options_toml_test.py b/unit_test/options_toml_test.py index 1dcfdc212..e3dd058d6 100644 --- a/unit_test/options_toml_test.py +++ b/unit_test/options_toml_test.py @@ -222,7 +222,7 @@ def test_environment_override_empty(tmp_path, monkeypatch): assert options_reader.get("manylinux-i686-image") == "" assert options_reader.get("manylinux-aarch64-image") == "manylinux1" - assert options_reader.get("manylinux-x86_64-image", ignore_empty=True) == "manylinux2014" + assert options_reader.get("manylinux-x86_64-image", ignore_empty=True) == "manylinux_2_28" assert options_reader.get("manylinux-i686-image", ignore_empty=True) == "manylinux1" assert options_reader.get("manylinux-aarch64-image", ignore_empty=True) == "manylinux1"