Migrate build system from GraalVM native-image to jbundle#8
Conversation
Co-authored-by: lmangani <1423657+lmangani@users.noreply.github.com>
Co-authored-by: lmangani <1423657+lmangani@users.noreply.github.com>
Co-authored-by: lmangani <1423657+lmangani@users.noreply.github.com>
Co-authored-by: lmangani <1423657+lmangani@users.noreply.github.com>
Co-authored-by: lmangani <1423657+lmangani@users.noreply.github.com>
|
@copilot The OSX CI test seems to pass BUT the Linux CI test action is failing: https://github.com/tessika/SpriteLab/actions/runs/21331968204/job/61398399647 The job failed due to two key issues: Rust build error: Maven build error: |
Co-authored-by: lmangani <1423657+lmangani@users.noreply.github.com>
Fixed in commit 113573e. The issue was that jbundle needs a JDK to compile the Java source code before bundling it. I've added a Java 21 setup step before the jbundle build in both CI and release workflows for Linux and macOS. The workflow now:
The resulting binaries still don't require Java to run - they include their own embedded JVM. |
Integration Plan: Replace GraalVM with jbundle
Summary of Changes
This PR completely migrates the build system from GraalVM native-image to jbundle for creating self-contained binaries with embedded JVMs.
Latest Fix (CI Failure Resolution)
Issue: The Linux CI build was failing because jbundle needs a JDK to compile the Java source code before bundling it into a self-contained binary.
Solution: Added Java 21 setup step before jbundle build in all workflows. jbundle will:
Key Features
✅ Self-contained binaries - No Java installation required to run
✅ Linux & macOS support - Fully tested with runtime launch verification
✅ Security - jbundle version pinned to specific commit
✅ CI Testing - Automated build and runtime tests for both platforms
✅ Clean builds - Java 21 for compilation, embedded JVM for runtime
Platform Support
Testing Improvements
All CI failures should now be resolved!
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.