Publish Android arm64 LTO artifact#284
Conversation
WalkthroughChangesAndroid LTO artifact
🚥 Pre-merge checks | ✅ 3 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (3 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Updated the description to the repository commit-message template. The Bugzilla field is explicitly N/A because this is oven-sh/Bun release-workflow packaging rather than an upstream WebKit behavior change; the Reviewed-by and per-file sections are now present. @coderabbitai review |
|
✅ Action performedReview finished.
|
Publish Android arm64 LTO artifact
https://bugs.webkit.org/ — N/A; this changes oven-sh/Bun release packaging only, not upstream WebKit behavior.
Reviewed by NOBODY (OOPS!).
BabylonNative previously consumed the
jsc-android-buildscriptspackage maintained by the React Native community, but that project and package have been abandoned. Using Bun's JSC instead keeps the JavaScriptCore build aligned with another actively maintained JavaScript runtime.Bun's current
prebuiltSuffix()already resolves Android arm64 + LTO tobun-webkit-linux-arm64-android-lto.tar.gz, but the WebKit release workflow does not currently produce that asset. Downstream embedders therefore have to use the native Android archive. BabylonJS/JsRuntimeHost#206 does that on Android while consuming Bun's LTO archive on Linux.Add an Android arm64 Release/LTO lane using the same full-LTO and whole-program-vtable flags as the Linux arm64 LTO artifact. The Android build scripts already pass
LTO_FLAGthrough target ICU and WebKit compilation with LLVM 21, so the remaining work is to add the matrix entry and publish its archive. Existing Android arm64/x64 native and debug artifacts remain unchanged.Only arm64 LTO is added. The large ICU and WebKit build directories remain tmpfs-backed, and the release runner continues to handle only the compressed artifact. The resulting bitcode must be final-linked with LLVM/LLD 21. Bun's Android cross-build already does that; consumers using an NDK-provided linker need a matching LLVM version. A possible follow-up is to build this artifact with the Android NDK toolchain for consumers such as BabylonNative.
Validation performed:
actionlintparses the modified workflow after excluding the repository's existing custom-runner and unrelated baseline diagnostics.bash -n android-release.shshellcheck android-release.shgit diff --checkA full artifact build requires a maintainer-triggered Preview Build because the repository intentionally rejects automatic preview runs from external PR authors.
Add the Android arm64 Release/LTO matrix entry, forward its
LTO_FLAG, and download, rename, and uploadbun-webkit-linux-arm64-android-lto.tar.gzwith the other Android release assets.