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: Add Cirrus CI config for aarch64 build tests #168

Merged
merged 3 commits into from
Jan 5, 2023
Merged

Conversation

matthewfeickert
Copy link
Member

@matthewfeickert matthewfeickert commented Jan 4, 2023

Description

  • Follow up PR to PR Test aarch64 wheels #166
  • Add Cirrus CI config for aarch64 wheel tests.
  • Exclude .cirrus.yml from MANIFEST.in.
  • Remove QEMU based config for time.
  • Add Cirrus CI badge to README.
    • cirrus-ci Status

Suggested squash and merge commit message

* Add Cirrus CI config for aarch64 wheel tests.
   - The jobs take a large amount of memory and so modification
     of the default resources is needed.
* Exclude .cirrus.yml from MANIFEST.in.
* Remove GitHub Actions QUEM based aarch64 test. As the Cirrus CI takes minutes
 instead of over an hour there is now not a need for this test to run in
 GitHub Actions.
* Add Cirrus CI build status badge for the main branch to README.

@matthewfeickert matthewfeickert added the ci Continuous integration label Jan 4, 2023
@matthewfeickert matthewfeickert self-assigned this Jan 4, 2023
@matthewfeickert matthewfeickert changed the title ci: Add Cirrus CI config for aarch64 built tests ci: Add Cirrus CI config for aarch64 build tests Jan 4, 2023
matrix:
- name: Test build

# Default is 2 CPUs and 4 GB of memory
Copy link
Member Author

Choose a reason for hiding this comment

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

These jobs just take a lot of memory

lots-of-memory

* The jobs take a large amount of memory and so modification
  of the default resources is needed.
* Exclude .cirrus.yml from MANIFEST.in.
* As the Cirrus CI takes minutes instead of hours there is now not a
  need for this test to run in GitHub Actions.
@matthewfeickert
Copy link
Member Author

This PR now takes aarch64 wheel building from the slowest (by far!) to one of the fastest to test. :)

@jmduarte
Copy link
Collaborator

jmduarte commented Jan 4, 2023

@matthewfeickert is it possible to move the wheel building for aarch64 on new releases to Cirrus CI as well as part of this PR?

See: https://cibuildwheel.readthedocs.io/en/stable/setup/#cirrus-ci

Apparently, we can also build wheels for macOS ARM (M1/M2) directly on Cirrus CI.

@matthewfeickert
Copy link
Member Author

is it possible to move the wheel building for aarch64 on new releases to Cirrus CI as well as part of this PR?

See: https://cibuildwheel.readthedocs.io/en/stable/setup/#cirrus-ci

We could do that, but as there might need to be some discussion on how this works functionally for uploading to PyPI I would do this in a separate follow up PR. I think this should be doable though with some coordination.

@lgray
Copy link
Collaborator

lgray commented Jan 4, 2023

Thanks @matthewfeickert for setting up cirrus! It's really nice having free arm machines out there, and even fairly easy to use at that it seems. I might use this over in coffea to start covering that (much larger) stack.

@matthewfeickert
Copy link
Member Author

Thanks @matthewfeickert for setting up cirrus! It's really nice having free arm machines out there, and even fairly easy to use at that it seems. I might use this over in coffea to start covering that (much larger) stack.

Happy to! Yeah, for people who have written GitLab CI pipelines before it is a pretty similar syntax (mostly just learning syntactic sugars). I was impressed with how they let you request additional resources (seemingly without much penalty in job start time).

Copy link
Collaborator

@chrispap95 chrispap95 left a comment

Choose a reason for hiding this comment

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

Thanks! This looks great and is a much better long-term solution for arm64!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci Continuous integration
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants