Repository navigation
Conversation
Wheel builds now run entirely on free GitHub-hosted runners:
- x86_64 wheels on ubuntu-latest, aarch64 wheels natively on
ubuntu-24.04-arm (no more QEMU), both inside manylinux_2_28
containers via maturin-action.
- The prebuilt librusty_v8 static library + src binding are downloaded
from the librusty_v8-v{version} release (version derived from
Cargo.lock) and consumed via RUSTY_V8_ARCHIVE /
RUSTY_V8_SRC_BINDING_PATH, so wheel builds no longer compile V8.
A missing archive release fails loudly with instructions to run the
'Build V8 archive' workflow.
- aarch64 wheel tests run natively on arm runners instead of QEMU.
- GCP spot-VM provisioning (provision/cleanup jobs, startup.sh) and
the from-source wheel build script are removed.
- Add verify-v8-archive workflow (manual dispatch): whole-archive
-z,defs link test under real glibc 2.28 proving archive linkability
(first-party Rust FFI symbols stubbed, anything else fails).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #9 (base branch
feat/abi3-wheels; retarget to main / merge after #9). This is the final piece of the prebuilt-V8 plan: wheel builds stop compiling V8 and the GCP machinery leaves the repo.Summary
ubuntu-latest, aarch64 natively onubuntu-24.04-arm— both insidemanylinux_2_28containers via maturin-action. Expected build time: minutes (just the Rust crate; no V8 compile).linuxjob derives the v8 version fromCargo.lock, downloadssrc_binding_release_{target}.rsfrom thelibrusty_v8-v{version}release, and pointsRUSTY_V8_ARCHIVE(URL) +RUSTY_V8_SRC_BINDING_PATHat the assets. A missing archive release fails loudly with instructions to run theBuild V8 archiveworkflow — the forcing function after any v8 bump.ubuntu-24.04-arm(the QEMU-in-docker test path is gone).provision/cleanupjobs,startup.sh,build-manylinux-wheels.sh. (GCP_*secrets/Workload Identity are no longer referenced and can be cleaned up.)verify-v8-archiveworkflow (manual dispatch): whole-archive-Wl,-z,defslink test under real glibc 2.28 proving archive linkability — missing symbols must all be first-party Rust FFI (temporal_rs_/rusty_v8_/v8__/v8_inspector__/cppgc__/crdtp__, provided by cargo at the real link); anything else fails. Validated green on the current archive: run 36933430748 — resulting.sorequires at mostGLIBC_2.28.Prerequisites already in place
Build V8 archiveworkflow + hardened builder images (merged in chore: bump deno_core 0.368.0 → 0.412.0 (v8 142.1.0 → 150.4.0) #10/fix: fall back to clang when image-configured cargo linker is missing #11)librusty_v8-v150.4.0release: all four assets symbol-audited and link-verified under glibc 2.28Release flow after this merges
Build V8 archiveonce (~1.5h, free) → done.Verification notes
End-to-end wheel-build verification requires this workflow to run (
workflow_dispatchon CI is available post-merge, or trigger via a pre-release tag). The constituent pieces are individually proven: the archive links under glibc 2.28 (verify workflow),RUSTY_V8_ARCHIVE/RUSTY_V8_SRC_BINDING_PATHare honored by rusty_v8's build script (source-verified for v150), and maturin-action mounts the workspace at an identical path in-container withRUST*-prefixed env forwarded (plus explicit-eflags).