_whitelogger has joined #jruby
joast has quit [*.net *.split]
joast has joined #jruby
<headius> Good morning! Back in the saddle
<headius> demon36 It has been a very long time since that was built on Windows. We will need to figure it out again
<basshelal[m]> Morning headius
<basshelal[m]> Have you found a good CI that can aid in building (and testing) for multiple platforms? Ideally be free, but if it's cheap we can set up a GitHub sponsor and I'd be willing to donate to help
<basshelal[m]> I think the major platforms we would want are:
<basshelal[m]> * Windows x86_64
<basshelal[m]> * GNU/Linux x86_64, aarch64
<basshelal[m]> * Darwin x86_64, aarch64
<basshelal[m]> The more exotic platforms will be much trickier to deal with, we may need help from the community for those
<headius> basshelal Not really. GHA does have Windows and Linux (Ubuntu I believe) but no Darwin. I have an M1 Mac mini here I would set up for that but we have users on BSD, Solaris, exotic Linux like zLinux, and so on
<headius> The jffi GHA has a Docker/qemu build now for several Linux platforms but we do not save the binary
<headius> In theory something similar could be done for at least the other open platforms
<headius> As demon36 pointed out to me it may be sufficient to build for as many platforms as we can and then call on the community for help
<demon36[m]> idk how to mention ppl in that thing, morning headius & basshelal, I eventually succeeded to build it on windows with a mix of cygwin and msys2's mingw, might write an instructions markdown
<demon36[m]> there is standing PR for jffi now, here : https://github.com/jnr/jffi/pull/112
<headius> demon36: excellent... I will look into that and jnr* update releases today
<headius> enebo: related to this... now that I have a mac mini we can use for builds and testing I will likely be ditching the MBP in favor of a more capable Linux machine
<enebo[m]> EPYC
<headius> hopefully the red hat options are decent
<basshelal[m]> headius: I wonder if you can build and test using virtual machines/docker for the more exotic OSes on a Unix host, so for Solaris and BSD x86_64 you can run a VM or docker instance with those OSes and have the build and testing process be done there. I am unsure, I'm not very experienced with this kind of devops-y stuff
<basshelal[m]> If that *is* possible though then we have more platforms we can support ourselves, and the only problem would then be the obscure CPUs like PPC and mips etc
<basshelal[m]> I don't know too much about all this, just thinking out loud but I'm willing to help as much as I can
<headius> VMs will work for x86 on x86 or ARM on ARM but outside that we have to go to something like qemu
<headius> the qemu rig on jffi could be adapted to other OSes but it basically uses qemu to boot a docker image so right now it only does Linux
<headius> ok lunch bbiab
lucerne has joined #jruby
<basshelal[m]> Well let me know if I can help with something. I have x86_64 GNU/Linux, Windows and Darwin and I can get a aarch64 GNU/Linux (raspberry pi 4)
<headius> ok back... switching cell providers is not fun
<headius> ok demon36 I can merge this in but I'm thinking I should put out a release first that either uses just your previous PR or doesn't fix that issue
<headius> because once we start adding new JNI endpoints we are going to need to be able to fall back to old binary on platforms that don't have the new stuff, which probably means fixing the version number in the binary so we can detect features
<headius> this step has been a long time coming so perhaps now is the time to do it
<headius> and then we can upgrade platforms a bit at a time
<headius> enebo ahorek : I merged in mrnoname's pure-sh basename/dirname stuff
<headius> so that avoids the original -- issue and we aren't depending on basename or dirname commands
<headius> script's getting pretty big but more compatible
<headius> ok M1 mac is up and running, so we can look into GHA builds or whatevs