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

Include multi-platform dockerbuild with arm64 support #5543

Merged
merged 5 commits into from
Mar 15, 2024

Conversation

jleibs
Copy link
Member

@jleibs jleibs commented Mar 15, 2024

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

Checklist

  • I have read and agree to Contributor Guide and the Code of Conduct
  • I've included a screenshot or gif (if applicable)
  • I have tested the web demo (if applicable):
  • The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG
  • If applicable, add a new check to the release checklist!

@jleibs jleibs added 🚢 CI exclude from changelog PRs with this won't show up in CHANGELOG.md labels Mar 15, 2024
@jleibs jleibs marked this pull request as ready for review March 15, 2024 18:54
@jleibs jleibs mentioned this pull request Mar 15, 2024
5 tasks
@jleibs jleibs changed the base branch from main to antoine/wheels-linux-aarch64 March 15, 2024 19:34
Copy link
Contributor

@abey79 abey79 left a comment

Choose a reason for hiding this comment

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

Looking good! Preemptively approving in case CI agrees :)

@jleibs jleibs merged commit 3833e42 into antoine/wheels-linux-aarch64 Mar 15, 2024
34 checks passed
@jleibs jleibs deleted the jleibs/docker_arm branch March 15, 2024 20:08
abey79 added a commit that referenced this pull request Mar 18, 2024
### 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 the `manylinux_2_31` standard.

Amongst other things, this PR:
- updates our ci docker image to be compatible with aarch64 (#5543 –
thanks @jleibs)
- remove all instances of double GCS authentication (our setup-rust
action auth to GCS, so an explicit auth isn't necessary, _and_ would
break cleanup in linux-arm/cli build workflow—why there only is unclear)
- use it for all linux-aarch64 builds
- fixes `pixi.toml` for linux-aarch64 compatibility
- bumps pixi to 0.16.1 everywhere in the ci
- adds a manual trigger for building wheels
- (mostly) unifies the target naming scheme

#### Related

- Follow-up to:
  - #5489 
  - #5503 
- Closes #4136 
- Fixes #5507

#### Further work
- ~~support lower glibc version:
#5512
- test more wheels: #5525

### 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/5511/index.html)
* Using examples from latest `main` build:
[app.rerun.io](https://app.rerun.io/pr/5511/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/5511/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/5511)
- [Docs
preview](https://rerun.io/preview/c029b411730d035b9babdba3f9721dbe2905196b/docs)
<!--DOCS-PREVIEW-->
- [Examples
preview](https://rerun.io/preview/c029b411730d035b9babdba3f9721dbe2905196b/examples)
<!--EXAMPLES-PREVIEW-->
- [Recent benchmark results](https://build.rerun.io/graphs/crates.html)
- [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)

---------

Co-authored-by: Jeremy Leibs <jeremy@rerun.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
exclude from changelog PRs with this won't show up in CHANGELOG.md 🚢 CI
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants