Skip to content

ci: pypi: use manylinux_2_28 consistently - #603

Merged
woodruffw merged 15 commits into
mainfrom
ww/manylinux-2-28
Mar 14, 2025
Merged

woodruffw merged 15 commits into
mainfrom
ww/manylinux-2-28

Conversation

@woodruffw

Copy link
Copy Markdown
Member

Using auto causes us to default to exceptionally
old versions of glibc, along with containers that
struggle badly to build things like tree-sitter.

See: tree-sitter/tree-sitter#4186

See: tree-sitter/tree-sitter#4271

Using auto causes us to default to exceptionally
old versions of glibc, along with containers that
struggle badly to build things like tree-sitter.

See: tree-sitter/tree-sitter#4186

See: tree-sitter/tree-sitter#4271

Signed-off-by: William Woodruff <william@yossarian.net>
@woodruffw woodruffw added the chore Repository maintenance tasks label Mar 14, 2025
@woodruffw woodruffw self-assigned this Mar 14, 2025
Signed-off-by: William Woodruff <william@yossarian.net>
@woodruffw

Copy link
Copy Markdown
Member Author

We're in a pickle here:

  1. We can't switch with auto, since it selects an exceptionally old container with a version of GCC that doesn't play nicely by default with tree-sitter's build. I could probably hack around this, but it's not worth it just to support a small number of EOL manylinux tags.
  2. We can't upgrade all the way to 2_28, since maturin-action appears to have trouble bootstrapping its toolchain with the system pip there: No module named pip for x86 manylinux_2_28 PyO3/maturin-action#249. I could work around that by disabling sccache, but I'd really prefer not to.

Signed-off-by: William Woodruff <william@yossarian.net>
Signed-off-by: William Woodruff <william@yossarian.net>
Signed-off-by: William Woodruff <william@yossarian.net>
Signed-off-by: William Woodruff <william@yossarian.net>
`cc` doesn't appear to respect CPPFLAGS.

Signed-off-by: William Woodruff <william@yossarian.net>
Signed-off-by: William Woodruff <william@yossarian.net>
Signed-off-by: William Woodruff <william@yossarian.net>
Signed-off-by: William Woodruff <william@yossarian.net>
Signed-off-by: William Woodruff <william@yossarian.net>
Signed-off-by: William Woodruff <william@yossarian.net>
Signed-off-by: William Woodruff <william@yossarian.net>
Signed-off-by: William Woodruff <william@yossarian.net>
@woodruffw

Copy link
Copy Markdown
Member Author

I'm declaring bankruptcy on making this work consistently, and limiting my scope of interest to the following platforms going forwards for wheel builds:

  • macOS: ARM64 and AMD64
  • Linux: musl with ARM64/Arm7/AMD64, glibc 2.28+ for ARM64/Arm7/AMD64. Some wheels may also be glibc 2.24+, but this will be dropped since 2.24 is pretty consistently EOL on distros.
  • Windows: AMD64 and x86

Anything else might be supported again in the future, but will probably be contingent on a more reliable build setup + fewer pain points with our non-Rust dependencies (namely, ring and tree-sitter).

Signed-off-by: William Woodruff <william@yossarian.net>
@woodruffw
woodruffw enabled auto-merge (squash) March 14, 2025 18:05
@woodruffw
woodruffw merged commit 730324e into main Mar 14, 2025
@woodruffw
woodruffw deleted the ww/manylinux-2-28 branch March 14, 2025 18:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore Repository maintenance tasks

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant