Skip to content

Commit 9613645

Browse files
authored
feat: add support for manylinux_2_34 i686 image (#2500)
1 parent 7247e38 commit 9613645

File tree

4 files changed

+42
-40
lines changed

4 files changed

+42
-40
lines changed

bin/update_docker.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,17 @@ def __init__(self, manylinux_version: str, platforms: list[str], tag: str | None
5959
PyPAImage("manylinux_2_31", ["armv7l"]),
6060
# manylinux_2_34 images
6161
PyPAImage(
62-
"manylinux_2_34", ["x86_64", "aarch64", "ppc64le", "s390x", "pypy_x86_64", "pypy_aarch64"]
62+
"manylinux_2_34",
63+
[
64+
"x86_64",
65+
"i686",
66+
"aarch64",
67+
"ppc64le",
68+
"s390x",
69+
"pypy_x86_64",
70+
"pypy_i686",
71+
"pypy_aarch64",
72+
],
6373
),
6474
# musllinux_1_2 images
6575
PyPAImage("musllinux_1_2", ["x86_64", "i686", "aarch64", "ppc64le", "s390x", "armv7l"]),
Lines changed: 31 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,51 @@
11
[x86_64]
2-
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2025.07.12-1
3-
manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2025.07.12-1
4-
manylinux_2_34 = quay.io/pypa/manylinux_2_34_x86_64:2025.07.12-1
5-
musllinux_1_2 = quay.io/pypa/musllinux_1_2_x86_64:2025.07.12-1
2+
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2025.07.14-5
3+
manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2025.07.14-5
4+
manylinux_2_34 = quay.io/pypa/manylinux_2_34_x86_64:2025.07.14-5
5+
musllinux_1_2 = quay.io/pypa/musllinux_1_2_x86_64:2025.07.14-5
66

77
[i686]
8-
manylinux2014 = quay.io/pypa/manylinux2014_i686:2025.07.12-1
9-
manylinux_2_28 = quay.io/pypa/manylinux_2_28_i686:2025.07.12-1
10-
musllinux_1_2 = quay.io/pypa/musllinux_1_2_i686:2025.07.12-1
8+
manylinux2014 = quay.io/pypa/manylinux2014_i686:2025.07.14-5
9+
manylinux_2_28 = quay.io/pypa/manylinux_2_28_i686:2025.07.14-5
10+
manylinux_2_34 = quay.io/pypa/manylinux_2_34_i686:2025.07.14-5
11+
musllinux_1_2 = quay.io/pypa/musllinux_1_2_i686:2025.07.14-5
1112

1213
[aarch64]
13-
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2025.07.12-1
14-
manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2025.07.12-1
15-
manylinux_2_34 = quay.io/pypa/manylinux_2_34_aarch64:2025.07.12-1
16-
musllinux_1_2 = quay.io/pypa/musllinux_1_2_aarch64:2025.07.12-1
14+
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2025.07.14-5
15+
manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2025.07.14-5
16+
manylinux_2_34 = quay.io/pypa/manylinux_2_34_aarch64:2025.07.14-5
17+
musllinux_1_2 = quay.io/pypa/musllinux_1_2_aarch64:2025.07.14-5
1718

1819
[ppc64le]
19-
manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2025.07.12-1
20-
manylinux_2_28 = quay.io/pypa/manylinux_2_28_ppc64le:2025.07.12-1
21-
manylinux_2_34 = quay.io/pypa/manylinux_2_34_ppc64le:2025.07.12-1
22-
musllinux_1_2 = quay.io/pypa/musllinux_1_2_ppc64le:2025.07.12-1
20+
manylinux2014 = quay.io/pypa/manylinux2014_ppc64le:2025.07.14-5
21+
manylinux_2_28 = quay.io/pypa/manylinux_2_28_ppc64le:2025.07.14-5
22+
manylinux_2_34 = quay.io/pypa/manylinux_2_34_ppc64le:2025.07.14-5
23+
musllinux_1_2 = quay.io/pypa/musllinux_1_2_ppc64le:2025.07.14-5
2324

2425
[s390x]
25-
manylinux2014 = quay.io/pypa/manylinux2014_s390x:2025.07.12-1
26-
manylinux_2_28 = quay.io/pypa/manylinux_2_28_s390x:2025.07.12-1
27-
manylinux_2_34 = quay.io/pypa/manylinux_2_34_s390x:2025.07.12-1
28-
musllinux_1_2 = quay.io/pypa/musllinux_1_2_s390x:2025.07.12-1
26+
manylinux2014 = quay.io/pypa/manylinux2014_s390x:2025.07.14-5
27+
manylinux_2_28 = quay.io/pypa/manylinux_2_28_s390x:2025.07.14-5
28+
manylinux_2_34 = quay.io/pypa/manylinux_2_34_s390x:2025.07.14-5
29+
musllinux_1_2 = quay.io/pypa/musllinux_1_2_s390x:2025.07.14-5
2930

3031
[pypy_x86_64]
31-
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2025.07.12-1
32-
manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2025.07.12-1
33-
manylinux_2_34 = quay.io/pypa/manylinux_2_34_x86_64:2025.07.12-1
32+
manylinux2014 = quay.io/pypa/manylinux2014_x86_64:2025.07.14-5
33+
manylinux_2_28 = quay.io/pypa/manylinux_2_28_x86_64:2025.07.14-5
34+
manylinux_2_34 = quay.io/pypa/manylinux_2_34_x86_64:2025.07.14-5
3435

3536
[pypy_i686]
36-
manylinux2014 = quay.io/pypa/manylinux2014_i686:2025.07.12-1
37-
manylinux_2_28 = quay.io/pypa/manylinux_2_28_i686:2025.07.12-1
37+
manylinux2014 = quay.io/pypa/manylinux2014_i686:2025.07.14-5
38+
manylinux_2_28 = quay.io/pypa/manylinux_2_28_i686:2025.07.14-5
39+
manylinux_2_34 = quay.io/pypa/manylinux_2_34_i686:2025.07.14-5
3840

3941
[pypy_aarch64]
40-
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2025.07.12-1
41-
manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2025.07.12-1
42-
manylinux_2_34 = quay.io/pypa/manylinux_2_34_aarch64:2025.07.12-1
42+
manylinux2014 = quay.io/pypa/manylinux2014_aarch64:2025.07.14-5
43+
manylinux_2_28 = quay.io/pypa/manylinux_2_28_aarch64:2025.07.14-5
44+
manylinux_2_34 = quay.io/pypa/manylinux_2_34_aarch64:2025.07.14-5
4345

4446
[armv7l]
45-
manylinux_2_31 = quay.io/pypa/manylinux_2_31_armv7l:2025.07.12-1
46-
musllinux_1_2 = quay.io/pypa/musllinux_1_2_armv7l:2025.07.12-1
47+
manylinux_2_31 = quay.io/pypa/manylinux_2_31_armv7l:2025.07.14-5
48+
musllinux_1_2 = quay.io/pypa/musllinux_1_2_armv7l:2025.07.14-5
4749

4850
[riscv64]
4951

docs/options.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1029,7 +1029,6 @@ The available options are:
10291029
Set the Docker image to be used for building [manylinux / musllinux](https://github.com/pypa/manylinux) wheels.
10301030

10311031
For `manylinux-*-image`, except `manylinux-armv7l-image`, the value of this option can either be set to `manylinux2014`, `manylinux_2_28` or `manylinux_2_34` to use a pinned version of the [official manylinux images](https://github.com/pypa/manylinux). Alternatively, set these options to any other valid Docker image name.
1032-
`manylinux_2_34` is not supported for `i686` architecture.
10331032

10341033
For `manylinux-armv7l-image`, the value of this option can either be set to `manylinux_2_31` or a custom image. Support is experimental for now. The `manylinux_2_31` value is only available for `armv7`.
10351034

test/test_manylinuxXXXX_only.py

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,6 @@
6464
def test(manylinux_image, tmp_path):
6565
if utils.get_platform() != "linux":
6666
pytest.skip("the container image test is only relevant to the linux build")
67-
elif manylinux_image == "manylinux_2_34" and platform.machine() == "i686":
68-
pytest.skip(f"{manylinux_image} doesn't exist for i686 architecture")
6967

7068
project_dir = tmp_path / "project"
7169
project_with_manylinux_symbols.generate(project_dir)
@@ -85,9 +83,6 @@ def test(manylinux_image, tmp_path):
8583
"CIBW_MANYLINUX_PYPY_AARCH64_IMAGE": manylinux_image,
8684
"CIBW_MANYLINUX_PYPY_I686_IMAGE": manylinux_image,
8785
}
88-
if manylinux_image == "manylinux_2_34" and platform.machine() == "x86_64":
89-
# We don't have a manylinux_2_34+ image for i686
90-
add_env["CIBW_ARCHS"] = "x86_64"
9186
if platform.machine() == "aarch64":
9287
# We just have a manylinux_2_31 image for armv7l
9388
add_env["CIBW_ARCHS"] = "aarch64"
@@ -104,10 +99,6 @@ def test(manylinux_image, tmp_path):
10499
musllinux_versions=[],
105100
)
106101

107-
if manylinux_image == "manylinux_2_34" and platform.machine() == "x86_64":
108-
# We don't have a manylinux_2_34+ image for i686
109-
expected_wheels = [w for w in expected_wheels if "i686" not in w]
110-
111102
if platform.machine() == "aarch64":
112103
# We just have a manylinux_2_31 image for armv7l
113104
expected_wheels = [w for w in expected_wheels if "armv7l" not in w]

0 commit comments

Comments
 (0)