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

Add GitHub Action to produce all artifacts #27

Closed
wants to merge 16 commits into from

Conversation

chris-allan
Copy link
Member

@chris-allan chris-allan commented Dec 14, 2020

Updates the build process to handle all steps using GitHub Actions:

  • Build of Win64 native artifact
  • Build of Linux64 native artifact
  • Build of macOS native artifact
  • Combination build of Java outputs and native artifacts from all 3 platforms

Of note:

  • Builds of the Win64 native artifact are now being performed by VS2019. This should mean a new dependency on the VC 2019 C++ redistributable on Windows. (Needs validation)
  • Builds of the Linux64 native artifact are being performed using the manylinux2010 infrastructure from PyPA. This should preserve CentOS 6 compatibility.
  • Builds of the macOS native artifact are now being performed using XCode 11.3.2. macOS version compatibility will need to be validated.

/cc @sbesson, @jburel

@chris-allan chris-allan force-pushed the github-actions branch 7 times, most recently from f268791 to 9bccc0f Compare December 14, 2020 13:59
@chris-allan chris-allan force-pushed the github-actions branch 2 times, most recently from 29c7ec9 to b7a9e11 Compare December 14, 2020 20:07
@chris-allan chris-allan force-pushed the github-actions branch 5 times, most recently from 6e4952d to a324854 Compare December 15, 2020 12:36
With the introduction of macOS System Integrity Protect (SIP)
LD_LIBRARY_PATH and DYLD_LIBRARY_PATH environment variables may be
stripped before execution.  See:

 * https://help.mulesoft.com/s/article/Variables-LD-LIBRARY-PATH-DYLD-LIBRARY-PATH-are-ignored-on-MAC-OS-if-System-Integrity-Protect-SIP-is-enable
@chris-allan chris-allan force-pushed the github-actions branch 3 times, most recently from c8ad59c to 29a0076 Compare December 15, 2020 16:41
@chris-allan chris-allan force-pushed the github-actions branch 3 times, most recently from 5bedec1 to 684b56b Compare December 16, 2020 10:05
@chris-allan chris-allan changed the title Add GitHub Action for Windows native artifacts Add GitHub Action to produce all artifacts Dec 16, 2020
@chris-allan
Copy link
Member Author

@stick: We will need to validate where we have still have access to CentOS 6.

@melissalinkert
Copy link
Member

Minimal test: https://gist.github.com/melissalinkert/500944d2215902b11502b8b726a41c18

Run javac -cp jxrlib-all-0.2.4.jar:. JXRTest.java, then java JXRTest img6_lowest_res.jxr with an appropriate runtime classpath. The test file is in s3://bf-data-repo/jpegxr-test/. Runtime classpath will require:

  • jxrlib-all-0.2.4.jar
  • logback-classic.jar
  • logback-core.jar
  • native-lib-loader.jar
  • slf4j-api.jar
  • working directory

All jars except jxrlib-all-0.2.4.jar are zipped in s3://bf-data-repo/jpegxr-test/jars.zip

@stick
Copy link
Member

stick commented Dec 18, 2020

tested on centos6:

12:30:58.759 [main] DEBUG o.s.nativelib.NativeLibraryUtil - processor is INTEL_64 os.arch is amd64
12:30:58.760 [main] DEBUG o.s.nativelib.NativeLibraryUtil - architecture is LINUX_64 os.name is linux
12:30:58.769 [main] DEBUG o.s.nativelib.NativeLibraryUtil - architecture is LINUX_64 os.name is linux
12:30:58.769 [main] DEBUG o.s.nativelib.NativeLibraryUtil - platform specific path is META-INF/lib/linux_64/
12:30:58.769 [main] DEBUG o.scijava.nativelib.BaseJniExtractor - mappedLib is libjxrjava.so
12:30:58.769 [main] DEBUG o.scijava.nativelib.BaseJniExtractor - URL is jar:file:/home/cm298/jxr-test/jxrlib-all-0.2.4.jar!/META-INF/lib/linux_64/libjxrjava.so
12:30:58.769 [main] DEBUG o.scijava.nativelib.BaseJniExtractor - URL path is file:/home/cm298/jxr-test/jxrlib-all-0.2.4.jar!/META-INF/lib/linux_64/libjxrjava.so
12:30:58.777 [main] DEBUG o.scijava.nativelib.BaseJniExtractor - Extracting 'jar:file:/home/cm298/jxr-test/jxrlib-all-0.2.4.jar!/META-INF/lib/linux_64/libjxrjava.so' to '/tmp/libjxrjava12900523056665113279.so'
bytes per pixel = 3
BGR = false

@melissalinkert
Copy link
Member

Closing as discussed in the context of upcoming work on #32.

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

Successfully merging this pull request may close these issues.

3 participants