Skip to content
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: Build macOS arm64 wheels #37503

Merged
merged 4 commits into from
Apr 27, 2024

Conversation

mkoeppe
Copy link
Contributor

@mkoeppe mkoeppe commented Feb 28, 2024

Using https://cibuildwheel.readthedocs.io/en/stable/changelog/#v2165

Example run: https://github.com/mkoeppe/sage/actions/runs/8088717795/job/22103468674#step:5:11246

Part of:

📝 Checklist

  • The title is concise and informative.
  • 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

Copy link

github-actions bot commented Apr 1, 2024

Documentation preview for this PR (built with commit 1af5b2a; changes) is ready! 🎉

Copy link
Collaborator

@kwankyu kwankyu left a comment

Choose a reason for hiding this comment

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

LGTM.

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Apr 17, 2024

Thank you!

vbraun pushed a commit to vbraun/sage that referenced this pull request Apr 20, 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". -->

Using https://cibuildwheel.readthedocs.io/en/stable/changelog/#v2165

Example run: https://github.com/mkoeppe/sage/actions/runs/8088717795/job
/22103468674#step:5:11246

Part of:
- sagemath#31251

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->

- [x] The title is concise and informative.
- [ ] 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. For example,
-->
<!-- - sagemath#12345: short description why this is a dependency -->
<!-- - sagemath#34567: ... -->
    
URL: sagemath#37503
Reported by: Matthias Köppe
Reviewer(s): Kwankyu Lee
@vbraun vbraun merged commit 0124bab into sagemath:develop Apr 27, 2024
14 of 16 checks passed
@mkoeppe mkoeppe added this to the sage-10.4 milestone Apr 27, 2024
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 24, 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):
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants