Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ARM Linux installers (Raspberry Pi) #121

Open
jflamy opened this issue Apr 20, 2024 · 6 comments
Open

ARM Linux installers (Raspberry Pi) #121

jflamy opened this issue Apr 20, 2024 · 6 comments

Comments

@jflamy
Copy link

jflamy commented Apr 20, 2024

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?

@shannah
Copy link
Owner

shannah commented Apr 20, 2024

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.

@jflamy
Copy link
Author

jflamy commented Apr 20, 2024

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.

@shannah
Copy link
Owner

shannah commented Apr 20, 2024

Are you using jDeploy to deploy a desktop app, or a CLI app?

@jflamy
Copy link
Author

jflamy commented Apr 21, 2024

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.

@FDelporte
Copy link

FDelporte commented Jul 19, 2024

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...

@shannah
Copy link
Owner

shannah commented Jul 19, 2024

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.

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

No branches or pull requests

3 participants