OSGeo / PROJ-JNI

Java Native Interface for PROJ
https://osgeo.github.io/PROJ-JNI/
MIT License
23 stars 15 forks source link

Add initial build script for GitHub Actions #39

Closed willcohen closed 3 years ago

willcohen commented 3 years ago

I don't currently have the ability to set up actions, but now that Travis is limiting free CI, it may be worth switching to GH actions sooner rather than later. This'll also be a useful way to avoid reworking more build scripts once it's time to start using dockcross etc or other alternatives when we're looking at building shaded jars for embedding native PROJ installs once we get to that stage.

@kbevers @desruisseaux

willcohen commented 3 years ago

Additionally, is Appveyor being used for testing on Windows? I believe that we could remove that (since it is currently broken) and migrate that to Github Actions as well.

kbevers commented 3 years ago

I don't currently have the ability to set up actions

I have given you "maintain" privileges, I think that should allow you to set up actions. If not, let me know what I should do to make it happen.

but now that Travis is limiting free CI, it may be worth switching to GH actions sooner rather than later

Definitely! Good call.

Additionally, is Appveyor being used for testing on Windows?

That was the intention but reworking that into a GitHub Action would be great!

desruisseaux commented 3 years ago

I'm not familiar with Travis and (not yet) with GitHub action neither. I happily let you decide, and will take this opportunity to learn.

willcohen commented 3 years ago

Apologies for pushing once or twice to master to get this going. I'll get it fixed up on this branch and squash once it's ready.

desruisseaux commented 3 years ago

No problem, thanks for doing that!

willcohen commented 3 years ago

Ok, all set. No Windows for now, but I propose that we merge as is (as a travis drop-in replacement). There'll definitely be room for improvement by caching PROJ builds between version updates.

Next step will be to think about cross-compiling. I think the right move will be to try to cross-compile via mac (which can, I think, generate binaries for linux, mac, and windows), and then test on all targets. I'll put that into a new PR once it's moderately working.

kbevers commented 3 years ago

Looks good to me. I see that PROJ v. 6.2.1 is used here, can that be bumped to a more recent version? Not necessarily in this PR, just in general.

desruisseaux commented 3 years ago

Probably, we just need to test.