[WIP] try to support more wheels by chirizxc · Pull Request #1149 · msgspec/msgspec · GitHub
Skip to content

[WIP] try to support more wheels - #1149

Draft
chirizxc wants to merge 22 commits into
msgspec:mainfrom
chirizxc:tests
Draft

[WIP] try to support more wheels#1149
chirizxc wants to merge 22 commits into
msgspec:mainfrom
chirizxc:tests

Conversation

@chirizxc

@chirizxc chirizxc commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

The diff is large because of:

actions-up --yes --min-age 0

I'll revert these changes later

@chirizxc
chirizxc requested a review from a team August 11, 2026 12:42
@codspeed-hq

codspeed-hq Bot commented Aug 11, 2026

Copy link
Copy Markdown

@chirizxc chirizxc closed this Aug 11, 2026
@chirizxc chirizxc reopened this Aug 11, 2026
@chirizxc chirizxc changed the title try to support more wheels [WIP] try to support more wheels Aug 11, 2026

@sobolevn sobolevn left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that x86_64 macos would be the only reasonable thing to support?

I am also not a fan of the CI speed. All jobs take 10+ minutes to test these platforms. Which is a long time :(

Comment thread .github/workflows/build-wheels.yml Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we really need these platforms? There was 1 real user request for these platforms: #788

I am asking, because this is not free for us:

  • We have to maintain all the build infra
  • We have to run CI for this regularly

I think that msgspec can be compiled locally quite easily and quite efficently. So, proving wheels is not 100% required for it to work.

Moreover, there's not much platform specific code in msgspec for us to test it heavily.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, this will increase the CI time, but for people who use these targets, installing the wheel will be much faster than compiling it on the spot

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess we can compile manylinux and musslinux on different GitHub Runners

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree with @sobolevn.

I'd also be cautious to add more platforms on a hunch. If there's a real demand for it, by which I mean at least a ticket asking for a specific platform with a good reason, I'm all for it. But otherwise, maybe let's hold off with it a bit.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In theory, without cibuildwheel, we could skip using QEMU, use zig cc instead, and compile the wheels on an x86 platform, but we would still need to test them, which takes about ~100+ seconds per wheel.

If we remove the musllinux wheels for s390x, ppc64le, and armv7l and keep what's in this PR, the build time will remain roughly the same - less than ~10 minutes per GitHub Runner.

Comment thread .github/workflows/build-wheels.yml Outdated
Comment thread tests/unit/test_msgpack.py
Comment thread .github/workflows/build-wheels.yml Outdated
@chirizxc
chirizxc marked this pull request as draft August 11, 2026 14:59
This reverts commit a0cc627.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants