diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 945544a9..d21e3d9c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -4,8 +4,8 @@ on: - pull_request jobs: - natives-linux-windows: - name: Linux (x86/ARM/PPC) and Windows native library compilation + natives-linux: + name: Linux (x86_64) native library compilation runs-on: ubuntu-18.04 defaults: @@ -22,12 +22,11 @@ jobs: - name: Install build prerequisites run: | sudo apt update - sudo make crosstools - - name: Build the Linux and Windows native libraries + - name: Build the Linux native libraries (x86_64 only) run: | - make clean-linux clean-windows - make linux windows + make clean-linux + make linux64 # The names of the artifacts containing native libraries correspond # exactly to the directories inside `src/main/c/resources/native`. That @@ -43,82 +42,13 @@ jobs: with: name: linux path: src/main/c/resources/native/linux - - name: Upload Windows native libraries - uses: actions/upload-artifact@v2 - with: - name: windows - path: src/main/c/resources/native/windows - - natives-macos: - name: macOS native library compilation - runs-on: macos-10.15 - - defaults: - run: - working-directory: src/main/c - - steps: - - name: Checkout the code - uses: actions/checkout@v2 - - name: Setup Java - uses: actions/setup-java@v1 - with: - java-version: 8 - - - name: Build the macOS native libraries - run: | - make clean-osx - make osx - - - name: Upload macOS native libraries - uses: actions/upload-artifact@v2 - with: - name: osx - path: src/main/c/resources/native/osx/libNRJavaSerial.jnilib - - natives-freebsd: - name: FreeBSD native library compilation - runs-on: ubuntu-18.04 - container: - image: empterdose/freebsd-cross-build:9.3 - env: - JAVA_HOME: /usr/lib/jvm/default-jvm - - defaults: - run: - working-directory: src/main/c - - steps: - - name: Checkout the code - uses: actions/checkout@v2 - - name: Setup Java - # This feels extremely dirty, but the only native header we care about - # is `jni_md.h`, and it is exactly identical between Linux and FreeBSD - # (at least in OpenJDK 8). - run: | - apk add openjdk8 - ln -s $JAVA_HOME/include/linux $JAVA_HOME/include/freebsd - - - name: Build the FreeBSD native libraries - run: | - make clean-freebsd - settarget i386-freebsd9 make freebsd32 - settarget x86_64-freebsd9 make freebsd64 - - - name: Upload FreeBSD native libraries - uses: actions/upload-artifact@v2 - with: - name: freebsd - path: src/main/c/resources/native/freebsd java: name: Java compilation runs-on: ubuntu-18.04 needs: - - natives-linux-windows - - natives-macos - - natives-freebsd + - natives-linux steps: - name: Checkout the code