Build a test jar which we can run to test the built jar is runnable
[ldk-java] / .github / workflows / build.yml
index 3145675ac66eaacd43cdbd5a6bdb1d3c38532220..24eb674cbcf5d15431b172c1f5e7ab711be04173 100644 (file)
@@ -52,11 +52,9 @@ jobs:
       - name: Run Java Tests against Debug Bindings
         run: |
           rm liblightningjni.so
-          ln -s liblightningjni_debug.so liblightningjni.so
-          export LD_LIBRARY_PATH=.
-          export LD_PRELOAD=/usr/lib/llvm-11/lib/clang/11.0.1/lib/linux/libclang_rt.asan-x86_64.so
+          ln -s liblightningjni_debug_Linux-amd64.so liblightningjni.so
           export ASAN_OPTIONS=detect_leaks=0
-          mvn test
+          LD_PRELOAD=/usr/lib/llvm-11/lib/clang/11.0.1/lib/linux/libclang_rt.asan-x86_64.so LD_LIBRARY_PATH=. mvn test
           git checkout liblightningjni.so
       - name: Build Java/TS Release Bindings
         run: |
@@ -73,8 +71,14 @@ jobs:
           fi
           echo "Using $LDK_GARBAGECOLLECTED_GIT_OVERRIDE as git version"
           ./genbindings.sh ./ldk-c-bindings/ "-I/usr/lib/jvm/java-11-openjdk-amd64/include/ -I/usr/lib/jvm/java-11-openjdk-amd64/include/linux/" false false
-      - name: Check latest headers are in git
+      - name: Check latest headers and release lib are in git
         run: |
-          # For some reason the debug library is not deterministic, this may be fixed in a future rustc
-          git checkout liblightningjni_debug.so
           git diff --exit-code
+      - name: Run Java Tests against built release jar
+        run: |
+          mvn -DskipTests=true package
+          mvn install:install-file -Dfile=target/ldk-java-1.0-SNAPSHOT.jar -DgroupId=org.ldk -DartifactId=ldk-java -Dversion=1.0-SNAPSHOT -Dpackaging=jar
+          cd javatester
+          mvn package
+          java -ea -jar target/ldk-java-tests-1.0-SNAPSHOT-jar-with-dependencies.jar
+          cd ..