Open jflamy opened 6 months ago
This has been on my todo list for some time. The main blocker (last time I checked) was that github actions, which I use to automate builds and releases, doesn't have ARM linux runners, so either I need to set up my own runner (which isn't impossible - just haven't had time to look into it), or I need to set up a cross-compile build flow on linux (also not impossible, but haven't had time to look into it).
If you have any experience in either of these areas (self-hosted github runners -- preferred solution), or cross compiling for ARM linux on x86, I'd welcome help on this issue.
My application already has a fairly convoluted maven build that I run under Azure devops, I have never used github actions, that is one of the things that are currently stopping me from jumping in, So no, I don't have any github action experience -- and in fact having a release script would be useful for other types of build (in-house or other clouds). My setup is a dev repository with manually triggered builds that send the releases to two separate release repos, one for stable releases, one for pre-releases. I will also need to figure out how jdeploy behaves when branches have been used.
Are you using jDeploy to deploy a desktop app, or a CLI app?
A CLI that wants to be a desktop (https://owlcms.github.io/owlcms4/#/index scroll down for screenshots)
It's a web app packaged as a uberjar. It is deployed on a "main" laptop on a LAN, where it runs an embedded web server (like SpringBoot would). It also starts a browser window where a user can interact. Other laptops on the same LAN can then connect to the main laptop and open their own browser.
So what I am attempting to do is have something less crude than a Java console that starts the web server. Because on the main laptop it is easy to just kill that window -- and on Windows if you do that there are no shutdown hooks, it's like a "kill -9".
I would like to have my main Java be a tiny/prettier Swing or JavaFX desktop app that forks off the web server and controls it (that part is already there, that's what the CLI version does).
jdeploy would be nice -- I would need to figure out how to have multiple branches at any given time, as there are multiple stable versions out at any given time (like Windows 10 and Windows 11 both getting fixes).
Feel free to move this to a discussion.
It seems Linux ARM runners are now available for GitHub Actions: https://github.blog/2024-06-03-arm64-on-github-actions-powering-faster-more-efficient-build-systems/
This might still be a problem: "These runners are available to our customers on our GitHub Team and Enterprise Cloud plans. We expect to begin offering Arm runners for open source projects by the end of the year."
Would indeed be great to have installers for RPi and other Linux ARM platforms...
Yeah. I don't think this is available to me yet. I think what I'm going to do is set up a self-hosted runner on a raspberry pi or maybe use QEMU.
With jDeploy all the native stuff is precompiled, so you don't actually need to have arm64 available when building your app. I just need to precompile the launcher for that platform - so if I were desperate, I could just manually compile it for arm64 and add this to the jdeploy resources. But I'd prefer to get it automated in a pipeline.
Just looking at the documentation: there is no mention of a Linux install for Raspberry Pi OS (.deb) or other ARM-based computers. Is that present and not documented?