Repository navigation
Build Linux binaries natively instead of with cross - #10283
Conversation
#10229 set CXX=clang++ in .cargo/config.toml to work around LevelDB's -Wthread-safety probe, but the cross images only ship GCC: x86_64 can't find clang++ and aarch64 uses its target-specific GCC and hits the original bug. Use GCC in cross and pre-seed the probe via a CMake wrapper. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Matches the non-cross Dockerfiles. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…d Node 24 actions - docker.yml: unstable builds use free GitHub-hosted runners; tag builds use the paid larger runner named by the RELEASE_RUNNER repo variable. - release.yml: Linux builds use RELEASE_RUNNER (free runners on forks). - Drop self-hosted runners and the SELF_HOSTED_RUNNERS toggles. - Pin cross to 0.2.5 and docker/* actions to commit SHAs. - Bump runners to ubuntu-24.04 and actions to Node 24 releases. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
maxperf (fat LTO) peaks at ~16 GB and swaps on free 16 GB runners; release peaks at ~11 GB and builds in about half the time. Tags keep maxperf. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The free 7 GB macOS runner swaps during the maxperf link (54 min); the 14 GB M2 Pro xlarge runner builds the same in 18 min. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Build each architecture on a runner of that architecture, inside a pinned Debian Bookworm Rust image. Removes cross and QEMU from CI. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
242b86b to
3b1de31
Compare
|
conflicts @antondlr |
|
This pull request has merge conflicts. Could you please resolve them @antondlr? 🙏 |
# Conflicts: # .github/workflows/docker.yml # .github/workflows/release.yml
resolved |
Merge Queue Status
This pull request spent 30 minutes 56 seconds in the queue, including 29 minutes 19 seconds running CI. ReasonThe merge conditions cannot be satisfied due to failing checks
HintYou may have to fix your CI before adding the pull request to the queue again. Waiting for
All conditions
Requeued — the merge queue status continues in this comment ↓. |
|
@mergify requeue |
Merge Queue Status
This pull request spent 29 minutes 53 seconds in the queue, including 28 minutes 7 seconds running CI. Required conditions to merge
|
Issue Addressed
CI builds Linux binaries with
cross, which pulls third-party build images (ghcr.io/cross-rs), needs QEMU for arm64 docker images, and broke on the recentccbump (#10278).Stacked on the runner PR (#10282).
Proposed Changes
rust:1.99.0-bookwormimage (scripts/ci/build-linux.sh).release.ymlanddocker.yml; nocrossor QEMU left in CI.RELEASE_RUNNER_ARM64repository variable for the arm64 release runner (falls back to freeubuntu-24.04-arm).make build-*cross targets for local use andbinary-builder.Additional Info
Concerns:
rustup update stable; bumping is a one-line change in the script.maxperfruns out of memory on the free 16 GB arm runner; releases need an 8-core / 32 GB arm64 larger runner.cross-rsimages, adds the Docker Hub officialrustimage (already used byDockerfile.reproducible).Tested on a fork with free runners (run):
lighthousex86_64/aarch64 andlcliaarch64 (release), andlighthousex86_64 (maxperf, release features) all build natively, and the docker images run.🤖 Generated with Claude Code