Skip to content

Use GitHub actions for MacOS ARM wheels#3382

Merged
JCGoran merged 40 commits into
masterfrom
jelic/arm_ci_gha
May 8, 2025
Merged

Use GitHub actions for MacOS ARM wheels#3382
JCGoran merged 40 commits into
masterfrom
jelic/arm_ci_gha

Conversation

@JCGoran

@JCGoran JCGoran commented Apr 11, 2025

Copy link
Copy Markdown
Collaborator

Basically a spin-off of #3321, but only restricted to ARM MacOS so we see that the workflows actually work as intended, later we can easily expand them to accommodate other platforms and Python versions.
Fixes #2359.

Changes

  • add workflow template for building a wheel on any platform with any Python version (wheels-template.yml)
  • add workflow template for uploading a wheel to PyPI (pypi-upload-template.yml)
  • add wheels-ci.yml for running the CI on PRs and main branch (for min and max Python versions only!)
  • add wheels-nightly.yml uploading nightly releases. Once this works, I can introduce a workflow for the stable releases as well
  • add option to use dotted Python versions in build_wheels.bash

This means that the workflow for building wheels is now entirely reusable, and takes the following inputs:

  • platform for which to build the wheel
  • Python version
  • build type (nightly or release); this is done so the change_name.py script is called appropriately (otherwise the wheel will be called neuron_nightly instead of neuron)
  • the clone depth of the repo; this is useful for the nightly to get the correct version tag, otherwise we are wasting time
  • optimize_rxd: for nightly and (future!) releases we use optimization level 2, while for CI (both PRs and main branch) we use opt level 0. This flag could admittedly be more general to take any env variables, but then one needs to parse it with something (should input be comma-separated? JSON? Lots of ways to tackle this...), so I opted for a simple boolean flag instead.

@azure-pipelines

Copy link
Copy Markdown

✔️ 5e39cba -> Azure artifacts URL

@codecov

codecov Bot commented Apr 11, 2025

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 68.36%. Comparing base (31cf0d0) to head (631a834).
⚠️ Report is 83 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #3382   +/-   ##
=======================================
  Coverage   68.36%   68.36%           
=======================================
  Files         682      682           
  Lines      116465   116465           
=======================================
  Hits        79619    79619           
  Misses      36846    36846           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions

Copy link
Copy Markdown
Contributor

✔️ 55c7bd1 -> artifacts URL

@azure-pipelines

Copy link
Copy Markdown

✔️ 55c7bd1 -> Azure artifacts URL

@github-actions

github-actions Bot commented May 7, 2025

Copy link
Copy Markdown
Contributor

✔️ 1ab60c1 -> artifacts URL

@github-actions

github-actions Bot commented May 7, 2025

Copy link
Copy Markdown
Contributor

✔️ 2b84f50 -> artifacts URL

@github-actions

github-actions Bot commented May 7, 2025

Copy link
Copy Markdown
Contributor

✔️ 5b4790e -> artifacts URL

@github-actions

github-actions Bot commented May 7, 2025

Copy link
Copy Markdown
Contributor

✔️ a71b286 -> artifacts URL

Comment thread .github/workflows/wheels-ci.yml
@JCGoran JCGoran marked this pull request as ready for review May 7, 2025 13:50
@JCGoran JCGoran requested review from nrnhines and ramcdougal May 7, 2025 13:51
@github-actions

github-actions Bot commented May 7, 2025

Copy link
Copy Markdown
Contributor

✔️ 844d74e -> artifacts URL

@JCGoran JCGoran added enhancement python CI Continuous Integration wheel labels May 7, 2025
@azure-pipelines

Copy link
Copy Markdown

✔️ 844d74e -> Azure artifacts URL

@nrnhines nrnhines left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Great!

Comment thread .github/workflows/wheels-template.yml Outdated
@sonarqubecloud

sonarqubecloud Bot commented May 8, 2025

Copy link
Copy Markdown

@github-actions

github-actions Bot commented May 8, 2025

Copy link
Copy Markdown
Contributor

✔️ 631a834 -> artifacts URL

@azure-pipelines

Copy link
Copy Markdown

✔️ 631a834 -> Azure artifacts URL

@JCGoran JCGoran merged commit c94a481 into master May 8, 2025
@JCGoran JCGoran deleted the jelic/arm_ci_gha branch May 8, 2025 17:01
@pramodk

pramodk commented May 8, 2025

Copy link
Copy Markdown
Member

Glad that to see this milestone ! 🎉🙌🏻

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

missing neuron-nightly for macOS M1/M2

3 participants