Skip to content

Add ubuntu-24.04-arm to CI workflow matrix and build wheels for free-threading - #241

Open
cxzhong wants to merge 7 commits into
sagemath:mainfrom
cxzhong:patch-2
Open

Add ubuntu-24.04-arm to CI workflow matrix and build wheels for free-threading#241
cxzhong wants to merge 7 commits into
sagemath:mainfrom
cxzhong:patch-2

Conversation

@cxzhong

@cxzhong cxzhong commented Mar 11, 2026

Copy link
Copy Markdown
Contributor

Fix #240 I also lint the meson.build file

@cxzhong cxzhong changed the title Add ubuntu-24.04-arm to CI workflow matrix Add ubuntu-24.04-arm to CI workflow matrix and build wheels for free-threading Mar 11, 2026
@cxzhong
cxzhong requested a review from tobiasdiez March 11, 2026 15:36
@cxzhong cxzhong closed this Mar 11, 2026
@cxzhong cxzhong reopened this Mar 11, 2026
@cxzhong cxzhong closed this Mar 11, 2026
@cxzhong cxzhong reopened this Mar 11, 2026
Comment thread .github/workflows/dist.yml Outdated
@cxzhong cxzhong closed this Mar 12, 2026
@cxzhong cxzhong reopened this Mar 12, 2026
…threading

- Add ubuntu-24.04-arm runner to CI and dist workflow matrices
- Enable free-threading (cpython-freethreading) in cibuildwheel
- Add Python 3.14t to CI test matrix
- Update CI workflows to use latest action versions (actions/checkout@v4,
  actions/setup-python@v5, actions/download-artifact@v4, actions/upload-artifact@v4)
- Update minimum Python version requirement to 3.12
- Fix compatibility issues with Python 3.14
- Upgrade dependencies (meson, meson-python, Cython) in pyproject.toml
- Auto-generate cysignals.pc from cysignals.pc.in via meson configure_file
- Bump version to 1.12.6
- Fix release workflow by removing duplicate macOS building and migrating
  to Trusted Publisher
- Add macos-15-intel to dist workflow
@cxzhong
cxzhong force-pushed the patch-2 branch 2 times, most recently from bde3d3a to bc91613 Compare March 12, 2026 15:57
@cxzhong cxzhong mentioned this pull request Mar 16, 2026

@tobiasdiez tobiasdiez left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I don't have time for a proper review atm (eg test the changes), but the code changes look reasonable to me.

@cxzhong cxzhong closed this Mar 16, 2026
@cxzhong cxzhong reopened this Mar 16, 2026
@cxzhong
cxzhong requested a review from tornaria April 5, 2026 09:21
@tornaria

tornaria commented Apr 5, 2026

Copy link
Copy Markdown
Member

Maybe split the lint step to a later PR, document there how you run the linter, and perhaps add a lint check to CI? Note that @tobiasdiez reviewed it before the lint step. Also, I prefer rebase than merges, as it makes things easier to review.

It's a matter of taste, but I'd rather have PRs that do one thing. The PR itself is documentation for the future so be explicit about everything you do in the PR. Your commit message for bc91613 is already much more detailed, at the very least you should copy this to the PR message. Some changes seem ok to sneak in, but some changes maybe need to be more explicit, e.g. minimum version requirements for python and cython (python is most likely ok, although is it necessary? otoh, cython 3.1 is less than one year old).

From your log message "Fix compatibility issues with Python 3.14" can you elaborate?

@cxzhong

cxzhong commented Apr 6, 2026

Copy link
Copy Markdown
Contributor Author

the minimum python requirement is sepc000. and the minimum cython requirement is since only cython>3.1.0, we can use free threading directive.

@cxzhong cxzhong closed this Apr 6, 2026
@cxzhong
cxzhong deleted the patch-2 branch April 6, 2026 08:01
@cxzhong

cxzhong commented Apr 6, 2026

Copy link
Copy Markdown
Contributor Author

Maybe I will going to 2-3 PRs about this

@tornaria

tornaria commented Apr 6, 2026

Copy link
Copy Markdown
Member

the minimum python requirement is sepc000. and the minimum cython requirement is since only cython>3.1.0, we can use free threading directive.

But it should still be possible to build the package with older cython (for a non free-threading python)?

@cxzhong

cxzhong commented Apr 6, 2026

Copy link
Copy Markdown
Contributor Author

the minimum python requirement is sepc000. and the minimum cython requirement is since only cython>3.1.0, we can use free threading directive.

But it should still be possible to build the package with older cython (for a non free-threading python)?

I have added # cython: freethreading_compatible = True in the top of files, this directive can not be recongnized for cython<3.1. It is added in cython 3.1

@cxzhong
cxzhong restored the patch-2 branch July 10, 2026 20:02
@cxzhong cxzhong reopened this Jul 10, 2026
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.

Add pre-built wheels for Linux aarch64 (manylinux + musllinux)

3 participants