-
-
Notifications
You must be signed in to change notification settings - Fork 491
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GH Actions: Fix build of macOS x86_64 wheels, build wheels for sagemath-{bliss,coxeter3,mcqd,tdlib} for PyPI #36525
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
mkoeppe
force-pushed
the
gha_wheels_bliss
branch
from
March 20, 2024 07:41
c0fba10
to
4a977df
Compare
Documentation preview for this PR (built with commit 2b2bbb2; changes) is ready! 🎉 |
mkoeppe
force-pushed
the
gha_wheels_bliss
branch
2 times, most recently
from
May 12, 2024 19:42
55bd7dc
to
d586457
Compare
mkoeppe
changed the title
GH Actions: Build wheels for sagemath-{bliss,coxeter3,...} for PyPI
GH Actions: Fix build of macOS x86_64 wheels, build wheels for sagemath-{bliss,coxeter3,...} for PyPI
May 14, 2024
…e-conf, sage-setup
mkoeppe
force-pushed
the
gha_wheels_bliss
branch
5 times, most recently
from
May 14, 2024 23:36
1106522
to
769a226
Compare
mkoeppe
force-pushed
the
gha_wheels_bliss
branch
3 times, most recently
from
May 15, 2024 01:30
bb18636
to
faa74e2
Compare
mkoeppe
changed the title
GH Actions: Fix build of macOS x86_64 wheels, build wheels for sagemath-{bliss,coxeter3,...} for PyPI
GH Actions: Fix build of macOS x86_64 wheels, build wheels for sagemath-{bliss,coxeter3,mcqd,tdlib} for PyPI
May 15, 2024
Thanks, Volker. |
vbraun
pushed a commit
to vbraun/sage
that referenced
this pull request
May 18, 2024
… wheels for sagemath-{bliss,coxeter3,mcqd,tdlib} for PyPI <!-- ^^^^^ Please provide a concise, informative and self-explanatory title. Don't put issue numbers in there, do this in the PR body below. For example, instead of "Fixes sagemath#1234" use "Introduce new method to calculate 1+1" --> <!-- Describe your changes here in detail --> Because the GitHub runner `macos-latest` is now Apple Silicon, building x86_64 wheels is broken. We fix this here by using `macos-13` for building x86_64. We speed up the build on Linux by bootstrapping only once in each job, and configuring and building packages of the Sage distribution only once for each Linux platform. Bootstrapping is now done outside of the container, and we configure Sage to use a `--prefix` in a directory mounted from the host, and storing the `config.status`. We add wheels for the optional-extension packages **sagemath-bliss**, ... that can be built on top of the existing modularized distributions. (The packages **sagemath-meataxe** and **sagemath-sirocco** have to wait for **sagemath-modules** to become available.) Tests at https://github.com/mkoeppe/sage/actions/workflows/dist.yml: - Successful run at https://github.com/mkoeppe/sage/actions/runs/9100668826 (the failure in release_dist is unrelated) Follow-up: - sagemath#37541, refactor as reusable GH Actions workflow -- for use by cysignals, cypari2, pplpy etc. Part of: - sagemath#31251 <!-- Why is this change required? What problem does it solve? --> <!-- If this PR resolves an open issue, please link to it here. For example "Fixes sagemath#12345". --> <!-- If your change requires a documentation PR, please link it appropriately. --> ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> <!-- If your change requires a documentation PR, please link it appropriately --> <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> <!-- Feel free to remove irrelevant items. --> - [x] The title is concise, informative, and self-explanatory. - [x] The description explains in detail what this PR is about. - [ ] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation accordingly. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on - sagemath#12345: short description why this is a dependency - sagemath#34567: ... --> - Depends on sagemath#36521 - Depends on sagemath#37503 (merged here) <!-- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> URL: sagemath#36525 Reported by: Matthias Köppe Reviewer(s):
vbraun
pushed a commit
to vbraun/sage
that referenced
this pull request
May 31, 2024
<!-- ^ Please provide a concise and informative title. --> <!-- ^ Don't put issue numbers in the title, do this in the PR description below. --> <!-- ^ For example, instead of "Fixes sagemath#12345" use "Introduce new method to calculate 1 + 2". --> <!-- v Describe your changes below in detail. --> <!-- v Why is this change required? What problem does it solve? --> <!-- v If this PR resolves an open issue, please link to it here. For example, "Fixes sagemath#12345". --> The change made in sagemath#37099 to accommodate the new design of actions/{up,down}load-artifact@v4 broke the upload of macOS wheels to PyPI (see https://github.com/sagemath/sage/actions/runs/9234698750/job/2 5408786962#step:8:23); this was masked so far because the build of macOS wheels was broken until sagemath#36525. Here we revert to using a separate job that uploads all platform wheels. This uses the new keywords `pattern` and `merge-multiple` of actions/download-artifact@v4 Example run: https://github.com/mkoeppe/sage/actions/runs/9291646178/job/25572343853 ### 📝 Checklist <!-- Put an `x` in all the boxes that apply. --> - [x] The title is concise and informative. - [x] The description explains in detail what this PR is about. - [ ] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [ ] I have updated the documentation and checked the documentation preview. ### ⌛ Dependencies <!-- List all open PRs that this PR logically depends on. For example, --> <!-- - sagemath#12345: short description why this is a dependency --> <!-- - sagemath#34567: ... --> URL: sagemath#38111 Reported by: Matthias Köppe Reviewer(s): Kwankyu Lee
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Because the GitHub runner
macos-latest
is now Apple Silicon, building x86_64 wheels is broken. We fix this here by usingmacos-13
for building x86_64.We speed up the build on Linux by bootstrapping only once in each job, and configuring and building packages of the Sage distribution only once for each Linux platform. Bootstrapping is now done outside of the container, and we configure Sage to use a
--prefix
in a directory mounted from the host, and storing theconfig.status
.We add wheels for the optional-extension packages sagemath-bliss, ... that can be built on top of the existing modularized distributions. (The packages sagemath-meataxe and sagemath-sirocco have to wait for sagemath-modules to become available.)
Tests at https://github.com/mkoeppe/sage/actions/workflows/dist.yml:
Follow-up:
pkgs/sage-project-cookiecutter
#37541, refactor as reusable GH Actions workflow -- for use by cysignals, cypari2, pplpy etc.Part of:
📝 Checklist
⌛ Dependencies