Skip to content

[2.2.0] Cherry-pick ARM64 wheel build #31566

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

Closed

Conversation

krfricke
Copy link
Contributor

Why are these changes needed?

We've added support for ARM64 wheels in #31522. This builds nightly wheels - however, we currently don't have any wheels uploaded to PyPI, as we didn't build any wheels for 2.2.0.

This PR cherry-picks the ARM build PR onto the 2.2.0 branch to build wheels that can then be uploaded to PyPI.

We don't necessarily have to merge this PR - the build job should be triggered by Buildkite automatically, so we can upload the artifact wheels.

Related issue number

Closes #21786

Checks

  • I've signed off every commit(by using the -s flag, i.e., git commit -s) in this PR.
  • I've run scripts/format.sh to lint the changes in this PR.
  • I've included any doc changes needed for https://docs.ray.io/en/master/.
  • I've made sure the tests are passing. Note that there might be a few flaky tests, see the recent failures at https://flakey-tests.ray.io/
  • Testing Strategy
    • Unit tests
    • Release tests
    • This PR is not tested :(

We currently only build linux wheels for x86_64. This means that users e.g. on Mac M1 machines can't run Ray in docker, as this would require linux/aarch64 (arm64) architecture wheels.

This PR updates our CI to:

- Install bazel for arm64 architecture
- Build and upload wheels for arm64 architecture

Signed-off-by: Kai Fricke <[email protected]>
@krfricke krfricke requested a review from a team as a code owner January 10, 2023 16:54
Copy link
Contributor

@pcmoritz pcmoritz left a comment

Choose a reason for hiding this comment

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

LGTM! It might make sense to check with somebody who understands the release process better than me that this is safe to do :) [we need to make sure that no existing uploaded artifacts get replaced with new ones]

@pcmoritz
Copy link
Contributor

Glad to see you also put the 3.11 wheel links into this :)

@krfricke
Copy link
Contributor Author

It will not overwrite any pypi wheels, but it will re-build the docker images and the documentation. This will also add the nightly ARM wheel links to the installation page.

Happy either way - I'm uploading the ARM64 wheels to PyPI as we speak.

@frank-lsf
Copy link
Contributor

Thanks for supporting arm64!! You have no idea how long I've been waiting for this.

@krfricke
Copy link
Contributor Author

I'm pretty sure that the failing tests are unrelated to the changes in this PR. I think we can still hold off on merging to not affect any existing artifacts. The doc changes are reflected on master and will be reflected in the next release.

@krfricke krfricke closed this Jan 20, 2023
@krfricke krfricke deleted the 2.2.0/arm-wheels branch January 20, 2023 00:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants