Skip to content

Add GraalVM native binary releases for Linux and macOS#4

Merged
lmangani merged 6 commits intomainfrom
copilot/add-binary-releases-support
Jan 22, 2026
Merged

Add GraalVM native binary releases for Linux and macOS#4
lmangani merged 6 commits intomainfrom
copilot/add-binary-releases-support

Conversation

Copy link
Copy Markdown

Copilot AI commented Jan 22, 2026

Plan: Add GraalVM Native Binary Releases ✅

  • Configure Maven for GraalVM native-image builds
    • Add native-image-maven-plugin to pom.xml
    • Add necessary GraalVM native-image configuration
    • Configure JavaFX support for native-image
  • Update release-builds.yml workflow
    • Add native-image build steps for Linux
    • Add native-image build steps for macOS
    • Package native binaries with FFmpeg
    • Upload native binary packages to release
  • Update CI workflow to test native builds
    • Add native-image build verification for Linux
    • Add native-image build verification for macOS
  • Add launcher script for native binaries
  • Update documentation
    • Update README with native binary info
    • Add build instructions
  • Address code review feedback
    • Remove duplicate build args from pom.xml
    • Use clean target before native builds in CI
    • Add comments about FFmpeg URL considerations
  • Security scan completed (no issues found)
  • Fix CI build failure
    • Changed ControlsFX initialization from build-time to runtime to avoid JavaFX toolkit dependency issues

Summary

Fixed native-image build failure caused by ControlsFX RangeSlider initialization. The issue was that ControlsFX classes were being initialized at build-time but they depend on JavaFX toolkit which can only be initialized at runtime. Changed configuration to initialize ControlsFX at runtime along with JavaFX platform.

Original prompt

This section details on the original issue you should resolve

<issue_title>Binary Releases</issue_title>
<issue_description>The release builds created in #1 are simply jar archives and require java. We also need binary releases bundled and ready to execute on each platform using the GraalVM action builder. Review the flow and make sure BINARIES are produced by the release action.
</issue_description>

Comments on the Issue (you are @copilot in this section)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 4 commits January 22, 2026 12:20
…y builds

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>
…an target

Co-authored-by: lmangani <1423657+lmangani@users.noreply.github.com>
Copilot AI changed the title [WIP] Add support for generating binary releases using GraalVM Add GraalVM native binary releases for Linux and macOS Jan 22, 2026
Copilot AI requested a review from lmangani January 22, 2026 12:27
@lmangani
Copy link
Copy Markdown

@copilot CI builds are failing https://github.com/katamini/SpriteLab/actions/runs/21248346717/job/61143603572
Review the build process and correct the blocking issue.

Co-authored-by: lmangani <1423657+lmangani@users.noreply.github.com>
Copy link
Copy Markdown
Author

Copilot AI commented Jan 22, 2026

@copilot CI builds are failing https://github.com/katamini/SpriteLab/actions/runs/21248346717/job/61143603572
Review the build process and correct the blocking issue.

Fixed the build failure in commit 9eef1ea. The issue was that ControlsFX classes were being initialized at build-time but depend on the JavaFX toolkit which can only be initialized at runtime. Changed the configuration to initialize ControlsFX at runtime instead.

@lmangani lmangani marked this pull request as ready for review January 22, 2026 14:18
@lmangani lmangani merged commit 6cbaf8b into main Jan 22, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Binary Releases

2 participants