java-native / jssc

Java library for talking to serial ports (with added build support for maven, cmake, MSVC)
https://discord.gg/RBsUfE9sX9
GNU Lesser General Public License v3.0
164 stars 53 forks source link

Update cross compile pipeline #140

Closed pietrygamat closed 1 year ago

pietrygamat commented 1 year ago

Edited 2023-07-23 @tresf

Quoting:

The pipeline seem to work as expected, the rebuilt libs are commited to branch: update_cross_compile_pipeline-precompiled-natives by the automatic build run here.

Additional testing of jar created from said branch requested from users of: linux_arm64 linux_ppc windows_arm64 osx_64 osx_arm64 sunos_32 and sunos_64, as I have no means to verify correctness of the libs for these systems.

Testing native components:

pietrygamat commented 1 year ago

The pipeline seem to work as expected, the rebuilt libs are commited to branch: update_cross_compile_pipeline-precompiled-natives by the automatic build run here.

Additional testing of jar created from said branch requested from users of: linux_arm64 linux_ppc windows_arm64 osx_64 osx_arm64 sunos_32 and sunos_64, as I have no means to verify correctness of the libs for these systems.

tresf commented 1 year ago

Thanks! I left a few comments.

One question... with this change, are our existing toolchains still getting executed by the CI?

pietrygamat commented 1 year ago

Thanks! I left a few comments.

One question... with this change, are our existing toolchains still getting executed by the CI?

They are not - all crosscompiling is delegated to dockcross containers. It's nice idea to have the test pipeline that would run against, for example, any new PR and verify the toolchains - but I think it's outside of the scope here.

tresf commented 1 year ago

Thanks! I left a few comments. One question... with this change, are our existing toolchains still getting executed by the CI?

They are not - all crosscompiling is delegated to dockcross containers. It's nice idea to have the test pipeline that would run against, for example, any new PR and verify the toolchains - but I think it's outside of the scope here.

Thanks. Yes, I agree, we need coverage on the toolchains. I thought we already had this, so that's a bit of a surprise to me, but you're right, that's immaterial to the PR.

tresf commented 1 year ago

linux_arm64 linux_ppc windows_arm64 osx_64 osx_arm64 sunos_32 and sunos_64

Turning into a checklist for the PR.

tresf commented 1 year ago

Checklist created. I should be able to test all platforms although my Linux PPC is not accessible so we may choose to skip that if all others work. I believe I have all others working at least in a Virtual Machine, so I can text if the library loads properly -- and if the hypervisor supports it, if it can read and write to a virtual COM port.

tresf commented 1 year ago

ARM64 tests pass. Next is Intel.

tresf commented 1 year ago

I've run out of time to test Intel, but everything on ARM64 seems OK, so I'm merging this as-is.