Skip to content

ci(release): build manylinux wheels for the matrix Python version - #611

Merged
hogan-yuan merged 1 commit into
mainfrom
ci/python-manylinux-interpreter
Oct 19, 2026
Merged

hogan-yuan merged 1 commit into
mainfrom
ci/python-manylinux-interpreter

Conversation

@hogan-yuan

Copy link
Copy Markdown
Member

Problem

The v5.2.2 Release run (38894106821) failed in build-python-sdk (3.12, ubuntu-24.04-arm):

📦 Built wheel for CPython 3.9 to dist/longbridge-5.2.2-cp39-cp39-manylinux_2_28_aarch64.whl
ERROR: Could not find a version that satisfies the requirement longbridge (from versions: none)

#609 moved the Linux gnu wheels into the manylinux_2_28 container but kept -i python. Inside the container, a bare python is the image's default interpreter, not the runner's setup-python one. So every Linux job built a cp39 wheel no matter what its matrix version was, and the 3.12 job couldn't install it. fail-fast then cancelled the rest of the matrix.

Nothing was published. Every publish-* job waits on the aggregate build job, which needs all builds to succeed.

The Node.js half of #609 (--use-napi-cross) built fine: both Linux gnu build-nodejs-sdk jobs succeeded in that run.

Fix

On Linux, name the interpreter explicitly: -i python${{ matrix.python-version }}. This is what the build-python-sdk-musl job already does inside its musllinux_1_2 container. Windows and macOS build on the runner itself and keep -i python.

Verification

  • release.yml parses as valid YAML.
  • The expression only changes the Linux matrix entries.
  • The same -i python<version> form already works for the musl wheels in every release run.
  • Not exercised in CI here: this workflow only runs on a push to release.

CI-only change; no CHANGELOG entry.

🤖 Generated with Claude Code

#609 moved the Linux gnu Python wheels into the manylinux_2_28 container
but kept `-i python`. Inside the container a bare `python` is the image's
default interpreter, not the runner's setup-python one, so every Linux
job built a cp39 wheel; the 3.12 job then could not install it and the
v5.2.2 Release run failed (and fail-fast cancelled the rest; nothing was
published, since every publish job waits on the full build).

Name the interpreter explicitly on Linux (`-i python<version>`), as the
musl job already does; Windows/macOS still build on the runner with
`-i python`.
@hogan-yuan
hogan-yuan merged commit edae6a8 into main Oct 19, 2026
56 checks passed
@hogan-yuan
hogan-yuan deleted the ci/python-manylinux-interpreter branch October 19, 2026 02:41
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.

1 participant