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

Switch ci_docker to a container based on ubuntu 20.04 #1334

Merged
merged 20 commits into from Feb 17, 2023

Conversation

jleibs
Copy link
Member

@jleibs jleibs commented Feb 16, 2023

This is a reasonable, reproducible container for a common LTS release.

It contains glibc-2.31 and python-3.8, giving us a better degree of manylinux compatibility when building wheels.
The "best" way to build for maximum compatibilityu would be using one of the centos manylinux containers, but the containers that have the version of glibc that we would like are missing the required gtk-3 deps. This seems like a reasonable compromise.

This container has all the same deps as our normal rust build CI containers, so just use it for everything to keep stuff straight-forward.

In the process of avoiding some other sharp-corners on ubuntu I also modified things to just build the wheel once and then patch the .rrd into it after the fact.

Wheels available from: https://github.com/rerun-io/rerun/suites/11039049133/artifacts/560751373

TODO:

  • Test wheels on 20.04
  • Test wheels on 22.04
  • Test wheels on Arch
  • Test wheel on windows (make sure build ordering change and flags didn't impact anything)

Checklist

  • I have read and agree to Contributor Guide and the Code of Conduct
  • I've included a screenshot or gif (if applicable)
  • I've added a line to CHANGELOG.md (if this is a big enough change to warrant it)

@jleibs jleibs added 🛞 build wheels 🐧 linux Linux-specific problems dependencies concerning crates, pip packages etc 🧑‍💻 dev experience developer experience (excluding CI) labels Feb 16, 2023
@jleibs jleibs marked this pull request as ready for review February 16, 2023 17:31
@@ -105,15 +105,20 @@ jobs:

runs-on: ${{ matrix.runs_on }}

container: ${{ matrix.container }}
Copy link
Contributor

Choose a reason for hiding this comment

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

Oh that's cool that this falls through to "no container" if the value doesn't exist in the matrix

ci_docker/Dockerfile Outdated Show resolved Hide resolved
@jondo2010
Copy link
Contributor

Looks like you need sudo in the container

@jleibs jleibs changed the title Switch ci_docker to a container based on ubuntu 22.04 Switch ci_docker to a container based on ubuntu 20.04 Feb 16, 2023
# So we only run the script on !Windows, and then on Windows we do the parts of the script manually.
# That way we still get to test the script on Linux and Mac.
# Also we can't run it on linux because the 20.04 Docker container will install
# an old version of binaryen/wasm-opt that barfs on the `--fast-math` flag
Copy link
Member

Choose a reason for hiding this comment

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

Hum… we probably shouldn't be using the --fast-math flag, but installing the most recent binaryen/wasm-opt seems like a good idea anyway

ci_docker/Dockerfile Show resolved Hide resolved
@teh-cmc
Copy link
Member

teh-cmc commented Feb 17, 2023

Tested on Arch ✅

Co-authored-by: Emil Ernerfeldt <emil.ernerfeldt@gmail.com>
@jleibs jleibs merged commit 6901c4f into main Feb 17, 2023
@jleibs jleibs deleted the jleibs/ubuntu_2204_docker branch February 17, 2023 15:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies concerning crates, pip packages etc 🧑‍💻 dev experience developer experience (excluding CI) 🐧 linux Linux-specific problems
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants