-
Notifications
You must be signed in to change notification settings - Fork 373
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
Build wheels for Linux ARM64 #5511
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.
Yup, that yaml sure looks like yaml to me!
# Conflicts: # pixi.toml
### What I need that to test #5511 ### Checklist * [x] I have read and agree to [Contributor Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and the [Code of Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md) * [x] I've included a screenshot or gif (if applicable) * [x] I have tested the web demo (if applicable): * Using newly built examples: [app.rerun.io](https://app.rerun.io/pr/{{pr.number}}/index.html) * Using examples from latest `main` build: [app.rerun.io](https://app.rerun.io/pr/{{pr.number}}/index.html?manifest_url=https://app.rerun.io/version/main/examples_manifest.json) * Using full set of examples from `nightly` build: [app.rerun.io](https://app.rerun.io/pr/{{pr.number}}/index.html?manifest_url=https://app.rerun.io/version/nightly/examples_manifest.json) * [x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG * [x] If applicable, add a new check to the [release checklist](https://github.com/rerun-io/rerun/blob/main/tests/python/release_checklist)! - [PR Build Summary](https://build.rerun.io/pr/{{ pr.number }}) - [Docs preview](https://rerun.io/preview/{{ pr.commit }}/docs) <!--DOCS-PREVIEW--> - [Examples preview](https://rerun.io/preview/{{ pr.commit }}/examples) <!--EXAMPLES-PREVIEW--> - [Recent benchmark results](https://build.rerun.io/graphs/crates.html) - [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)
Testing builds for all wheels with ca13fdc https://github.com/rerun-io/rerun/actions/runs/8294337164 all ✅
Resulting linux-aarch64 wheel: http://build.rerun.io/commit/ca13fdc/wheels/rerun_sdk-0.15.0a2-cp38-abi3-manylinux_2_35_aarch64.whl Works on a RPi 5 with glibc 3.36 |
Ok, as of #5543 |
### What - Switch to using docker buildx to create the docker environment - Update the platform-specific parts of the dockerfile to use the targetplatform - Bump the version to 0.12 just in case something goes wrong. - Start using the docker container on buildjet ``` $ docker buildx imagetools inspect rerunio/ci_docker:0.12.0 Name: docker.io/rerunio/ci_docker:0.12.0 MediaType: application/vnd.oci.image.index.v1+json Digest: sha256:9575a44a30152ef292c8f73e9546f1d431ea32246bc7a0043ba51f4df936c537 Manifests: Name: docker.io/rerunio/ci_docker:0.12.0@sha256:7e0e5a31234578d10c53733e9e703972d73ac7df992323d95feb60700cb94e4b MediaType: application/vnd.oci.image.manifest.v1+json Platform: linux/arm64 Name: docker.io/rerunio/ci_docker:0.12.0@sha256:e1861e823b15b3accf103c00910fa24a89aa274f02550b5458524322cc1f39ce MediaType: application/vnd.oci.image.manifest.v1+json Platform: linux/amd64 ``` Successful buildjet run: https://github.com/rerun-io/rerun/actions/runs/8301499563/job/22721760001 ![image](https://github.com/rerun-io/rerun/assets/3312232/8524e28e-8630-4c1e-a0e1-972e5a928487) ### Checklist * [x] I have read and agree to [Contributor Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and the [Code of Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md) * [x] I've included a screenshot or gif (if applicable) * [x] I have tested the web demo (if applicable): * Using newly built examples: [app.rerun.io](https://app.rerun.io/pr/5543/index.html) * Using examples from latest `main` build: [app.rerun.io](https://app.rerun.io/pr/5543/index.html?manifest_url=https://app.rerun.io/version/main/examples_manifest.json) * Using full set of examples from `nightly` build: [app.rerun.io](https://app.rerun.io/pr/5543/index.html?manifest_url=https://app.rerun.io/version/nightly/examples_manifest.json) * [x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG * [x] If applicable, add a new check to the [release checklist](https://github.com/rerun-io/rerun/blob/main/tests/python/release_checklist)! - [PR Build Summary](https://build.rerun.io/pr/5543) - [Docs preview](https://rerun.io/preview/3eb7524e2f955e97dcb423b6a16c10f7fdb75ba9/docs) <!--DOCS-PREVIEW--> - [Examples preview](https://rerun.io/preview/3eb7524e2f955e97dcb423b6a16c10f7fdb75ba9/examples) <!--EXAMPLES-PREVIEW--> - [Recent benchmark results](https://build.rerun.io/graphs/crates.html) - [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)
Back to draft... Using our shiny new docker image for the c build appears to work: https://github.com/rerun-io/rerun/actions/runs/8306070007/job/22733709381 The same isn't quite true yet for the CLI: https://github.com/rerun-io/rerun/actions/runs/8306071147/job/22733711751 |
# Conflicts: # .github/workflows/reusable_test_wheels.yml
### What CI on main has not been running at all since #5511 ### Checklist * [x] I have read and agree to [Contributor Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and the [Code of Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md) * [x] I've included a screenshot or gif (if applicable) * [x] I have tested the web demo (if applicable): * Using newly built examples: [app.rerun.io](https://app.rerun.io/pr/{{pr.number}}/index.html) * Using examples from latest `main` build: [app.rerun.io](https://app.rerun.io/pr/{{pr.number}}/index.html?manifest_url=https://app.rerun.io/version/main/examples_manifest.json) * Using full set of examples from `nightly` build: [app.rerun.io](https://app.rerun.io/pr/{{pr.number}}/index.html?manifest_url=https://app.rerun.io/version/nightly/examples_manifest.json) * [x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG * [x] If applicable, add a new check to the [release checklist](https://github.com/rerun-io/rerun/blob/main/tests/python/release_checklist)! - [PR Build Summary](https://build.rerun.io/pr/{{ pr.number }}) - [Docs preview](https://rerun.io/preview/{{ pr.commit }}/docs) <!--DOCS-PREVIEW--> - [Examples preview](https://rerun.io/preview/{{ pr.commit }}/examples) <!--EXAMPLES-PREVIEW--> - [Recent benchmark results](https://build.rerun.io/graphs/crates.html) - [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)
# TODO(#5525): at least this target is broken, maybe others — we currently only use linux-x64 and windows-x64 | ||
run: | |
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.
What target is "this" referring to?
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.
badly placed comment, it should be attached to the linux-arm64 arm. pretty sure the mac targets are broken as well, but i hadn't tested then iirc
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.
Tip: next time don't use words like "this", but be specific instead. Comments have a tendency to jump around.
What
Build linux-aarch64 wheels (with manylinux_2_31) and fixes the C and CLI builds to bring the min required glibc version to 2.31.
Note: cursory inspection indicates that the actual min glibc version 2.29. However, we don't formally test that. The only test is done by
maturin
on our wheels, against themanylinux_2_31
standard.Amongst other things, this PR:
pixi.toml
for linux-aarch64 compatibilityRelated
Further work
support lower glibc version: Improve the glibc minimum supported version #5512Checklist
main
build: app.rerun.ionightly
build: app.rerun.io