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

CI: Build musllinux aarch64 and x86_64 wheels, and native macOS arm64 wheels #719

Merged

Conversation

agriyakhetarpal
Copy link
Collaborator

Description

This PR addresses the following:

  1. Adds macos-14 GitHub Actions runners to target macOS arm64 wheels natively, without cross-compilation
  2. Configures the build_linux_aarch64_wheels and build_linux_x86_64_wheels jobs to include MUSL wheels (which were previously being skipped).

Footnotes

This PR:

  1. closes Publish musllinux wheels again, and natively compile macOS arm64 wheels #718,
  2. closes pywavelets fails to install on Alpine Linux v3.15 ARM #623, and
  3. is a follow-up to Upload nightly wheels for PyWavelets to the Scientific Python Nightly Wheels index on Anaconda #710 and Upload dev builds for all supported platforms to anaconda.org #712.

@agriyakhetarpal agriyakhetarpal added build CI Continuous integration labels Mar 12, 2024
@agriyakhetarpal agriyakhetarpal added this to the v1.6.0 milestone Mar 12, 2024
@agriyakhetarpal agriyakhetarpal force-pushed the build-musl-and-macos-arm64-wheels branch 2 times, most recently from bc5003a to 4e69950 Compare March 12, 2024 20:34
@agriyakhetarpal
Copy link
Collaborator Author

agriyakhetarpal commented Mar 12, 2024

This should be ready for review now, please check the logs here: https://github.com/agriyakhetarpal/pywt/actions/runs/8255410993/job/22581797957

All job produce a singleton wheel, except for the GNU/Linux jobs that produce two – both musllinux and manylinux wheels.

Edit: all jobs are passing!

@agriyakhetarpal agriyakhetarpal marked this pull request as ready for review March 12, 2024 20:50
@agriyakhetarpal agriyakhetarpal force-pushed the build-musl-and-macos-arm64-wheels branch from 4e69950 to 25d28dc Compare March 12, 2024 21:02
Copy link
Member

@rgommers rgommers left a comment

Choose a reason for hiding this comment

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

This all looks like it works as advertised, nice work @agriyakhetarpal. I only have a few minor comments for maintainability and future-proofing.

.github/workflows/wheel_tests_and_release.yml Outdated Show resolved Hide resolved
.github/workflows/wheel_tests_and_release.yml Outdated Show resolved Hide resolved
.github/workflows/wheel_tests_and_release.yml Outdated Show resolved Hide resolved
.github/workflows/wheel_tests_and_release.yml Outdated Show resolved Hide resolved
.github/workflows/wheel_tests_and_release.yml Outdated Show resolved Hide resolved
.github/workflows/wheel_tests_and_release.yml Show resolved Hide resolved
@agriyakhetarpal
Copy link
Collaborator Author

All wheels are getting built, please see this workflow run: https://github.com/agriyakhetarpal/pywt/actions/runs/8262339804

@rgommers rgommers changed the title [WIP]: CI: Build musllinux aarch64 and x86_64 wheels, and native macOS arm64 wheels CI: Build musllinux aarch64 and x86_64 wheels, and native macOS arm64 wheels Mar 13, 2024
Copy link
Member

@rgommers rgommers left a comment

Choose a reason for hiding this comment

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

Great! All looks good, so let's give it a go.

@rgommers rgommers merged commit a63e561 into PyWavelets:master Mar 13, 2024
15 checks passed
@agriyakhetarpal agriyakhetarpal deleted the build-musl-and-macos-arm64-wheels branch March 13, 2024 11:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build CI Continuous integration
Projects
None yet
2 participants