-
-
Notifications
You must be signed in to change notification settings - Fork 11.3k
CI: Add native ppc64le
CI job using GitHub Actions
#29212
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
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @sandeepgupta12. Here is a first round of review comments.
run: | | ||
python3 -m pip install -U pip setuptools wheel | ||
python3 -m pip install spin | ||
echo "/home/runner/.local/bin" >> $GITHUB_PATH |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this needed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
used to add ~/.local/bin to the system PATH for subsequent steps in the GitHub Actions workflow, so that installed tools (like spin) can be found and executed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah okay. That should be happening only if pip
can't write to its default location and switches to .local
. The usual solution to that is to use a virtual environment.
Fine to leave this as is until the self-hosted runner is up, so we have a log to look at for the final tweaks.
|
||
- name: Run Tests | ||
run: | | ||
export F90=$(which gfortran) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This isn't doing anything, please remove.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated as suggested, thanks!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unresolved this comment, since it wasn't actually addressed.
The PyPy failure can be ignored. |
ppc64le
CI job using GitHub Actions
ppc64le
CI job using GitHub Actionsppc64le
CI job using GitHub Actions
Hi @rgommers, |
The release secrets have been removed from the repo yesterday (see #29462 (comment)), so that unblocks moving ahead with this PR. |
Hi @rgommers , Thanks for the update. Great to hear the release secrets issue is resolved. Could you please go ahead with installing the Power GitHub Actions app on the repository? Once that’s in place, we can proceed with enabling CI for Power (ppc64le) without further blockers. |
@sandeepgupta12 the app is installed now, this job should be able to run once it's approved for use on this repo on your side. |
@rgommers app is approved now. Can you please approve the workflow so that it can run? |
ok. Can you please merge this PR? |
First job passed! I'll save some of the build log content for posterity:
More build config output
SIMD config per target
Slowest tests:
There's a number of these, that looks like an issue in the SIMD testing module:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @sandeepgupta12. I reviewed the CI log in detail, it looks pretty good. A few last comments inline.
|
||
name: "Native PPC64LE" | ||
steps: | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: can you remove this blank line?
|
||
- name: Meson Build | ||
run: | | ||
spin build --clean -- -Dallow-noblas=false |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you remove --clean
? It's unnecessary in CI, the build
and build-install
directories will not exist for a clean checkout.
|
||
- name: Run Tests | ||
run: | | ||
export F90=$(which gfortran) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unresolved this comment, since it wasn't actually addressed.
Note that this isn't a blocker for merging, we can tackle that in a follow-up. It'd be nice if you could check those tests locally if you have a |
This PR adds a GitHub Actions workflow to run tests on a native ppc64le (Power) runner.
Runs on PRs to main and maintenance/** branches, and via workflow_dispatch
Builds using spin build --clean -- -Dallow-noblas=true
Installs required build/test dependencies
Runs tests using spin test
Outputs Meson build log if available
This helps ensure compatibility and catch issues specific to the ppc64le architecture.
📌 This is the first step in NumPy Issue #29125 to enable native CI support and future wheel builds for the ppc64le architecture.
cc @rgommers for review