|
71 | 71 | - name: Checkout latest MacOS binaries |
72 | 72 | run: | |
73 | 73 | export LDK_GARBAGECOLLECTED_GIT_OVERRIDE="$(cat .git_ver)" |
74 | | - git clone https://git.bitcoin.ninja/ldk-java-bins |
| 74 | + git clone --depth 1 https://git.bitcoin.ninja/ldk-java-bins |
75 | 75 | mkdir -p src/main/resources/ |
76 | 76 | cp "ldk-java-bins/${LDK_GARBAGECOLLECTED_GIT_OVERRIDE}/liblightningjni_MacOSX-"* src/main/resources/ |
77 | 77 | - name: Build Java/TS Release Bindings |
|
82 | 82 | run: ./build-release-jar.sh |
83 | 83 | - name: Run Java Tests against built release jar |
84 | 84 | run: | |
85 | | - mvn install:install-file -Dfile=target/ldk-java-1.0-SNAPSHOT.jar -DgroupId=org.ldk -DartifactId=ldk-java -Dversion=1.0-SNAPSHOT -Dpackaging=jar |
| 85 | + mvn install:install-file -Dfile=ldk-java.jar -DgroupId=org.ldk -DartifactId=ldk-java -Dversion=1.0-SNAPSHOT -Dpackaging=jar |
86 | 86 | cd javatester |
87 | 87 | mvn package |
88 | 88 | java -ea -jar target/ldk-java-tests-1.0-SNAPSHOT-jar-with-dependencies.jar |
|
93 | 93 | - name: Check latest library and jars are in bins repo |
94 | 94 | run: | |
95 | 95 | export LDK_GARBAGECOLLECTED_GIT_OVERRIDE="$(cat .git_ver)" |
| 96 | + rm "ldk-java-bins/${LDK_GARBAGECOLLECTED_GIT_OVERRIDE}/"*.jar |
| 97 | + rm "ldk-java-bins/${LDK_GARBAGECOLLECTED_GIT_OVERRIDE}/"liblightningjni_Linux*.nativelib |
96 | 98 | cp src/main/resources/liblightningjni_Linux-amd64.nativelib "ldk-java-bins/${LDK_GARBAGECOLLECTED_GIT_OVERRIDE}/" |
97 | | - cp target/ldk-java-1.0-SNAPSHOT.jar "ldk-java-bins/${LDK_GARBAGECOLLECTED_GIT_OVERRIDE}/" |
98 | | - cp target/ldk-java-1.0-SNAPSHOT-sources.jar "ldk-java-bins/${LDK_GARBAGECOLLECTED_GIT_OVERRIDE}/" |
| 99 | + cp ldk-java-sources.jar "ldk-java-bins/${LDK_GARBAGECOLLECTED_GIT_OVERRIDE}/" |
| 100 | + cp ldk-java.jar "ldk-java-bins/${LDK_GARBAGECOLLECTED_GIT_OVERRIDE}/" |
| 101 | + cp ldk-java-classes.jar "ldk-java-bins/${LDK_GARBAGECOLLECTED_GIT_OVERRIDE}/" |
| 102 | + cd ldk-java-bins |
| 103 | + git diff --exit-code |
| 104 | +
|
| 105 | + android: |
| 106 | + runs-on: ubuntu-latest |
| 107 | + # Frankly, I'm not really sure why debian and ubuntu differ in the results here, they really shouldn't |
| 108 | + container: debian:bullseye |
| 109 | + env: |
| 110 | + TOOLCHAIN: stable |
| 111 | + steps: |
| 112 | + - name: Install rust targets |
| 113 | + run: | |
| 114 | + apt-get update |
| 115 | + apt-get -y dist-upgrade |
| 116 | + apt-get -y install git g++ clang faketime zip unzip curl openjdk-11-jdk |
| 117 | + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh |
| 118 | + chmod +x ./rustup.sh |
| 119 | + ./rustup.sh -y |
| 120 | + . $HOME/.cargo/env |
| 121 | + rustup target add armv7-linux-androideabi |
| 122 | + rustup target add aarch64-linux-android |
| 123 | + rustup target add i686-linux-android |
| 124 | + rustup target add x86_64-linux-android |
| 125 | + - name: Checkout source code |
| 126 | + uses: actions/checkout@v2 |
| 127 | + with: |
| 128 | + fetch-depth: 0 |
| 129 | + - name: Install android NDK compilers |
| 130 | + run: | |
| 131 | + curl https://dl.google.com/android/repository/android-ndk-r22b-linux-x86_64.zip > android-ndk-r22b-linux-x86_64.zip |
| 132 | + if [ "$(sha256sum android-ndk-r22b-linux-x86_64.zip | awk '{ print $1 }')" != "ac3a0421e76f71dd330d0cd55f9d99b9ac864c4c034fc67e0d671d022d4e806b" ]; then |
| 133 | + echo "Bad hash" |
| 134 | + exit 1 |
| 135 | + fi |
| 136 | + unzip android-ndk-r22b-linux-x86_64.zip |
| 137 | + - name: Install cbindgen |
| 138 | + run: | |
| 139 | + . $HOME/.cargo/env |
| 140 | + cargo install --force cbindgen |
| 141 | + - name: Checkout Rust-Lightning and LDK-C-Bindings git |
| 142 | + run: | |
| 143 | + git config --global user.email "ldk-ci@example.com" |
| 144 | + git config --global user.name "LDK CI" |
| 145 | + # Note this is a different endpoint, as we need one non-upstream commit! |
| 146 | + git clone https://git.bitcoin.ninja/rust-lightning |
| 147 | + cd rust-lightning |
| 148 | + git checkout origin/2021-03-java-bindings-base |
| 149 | + cd .. |
| 150 | + git clone https://github.com/lightningdevkit/ldk-c-bindings |
| 151 | + - name: Detect current git version |
| 152 | + run: | |
| 153 | + # We assume the top commit is just a bindings update commit, so we |
| 154 | + # check out the previous commit to use as the commit we git describe. |
| 155 | + # If the top commit is a merge commit, we need to get the last merge |
| 156 | + # head and assume the latest bindings are built against its parent. |
| 157 | + COMMIT_PARENTS=$(git show -s --pretty=format:%P HEAD) |
| 158 | + if [ "${#COMMIT_PARENTS}" = 40 ]; then |
| 159 | + export LDK_GARBAGECOLLECTED_GIT_OVERRIDE="$(git describe --tag HEAD^1)" |
| 160 | + else |
| 161 | + MERGE_HEAD=$(git show --pretty=format:%P HEAD | ( for last in $(cat /dev/stdin); do true; done; echo $last )) |
| 162 | + export LDK_GARBAGECOLLECTED_GIT_OVERRIDE="$(git describe --tag $MERGE_HEAD^1)" |
| 163 | + fi |
| 164 | + echo "Using $LDK_GARBAGECOLLECTED_GIT_OVERRIDE as git version" |
| 165 | + echo "$LDK_GARBAGECOLLECTED_GIT_OVERRIDE" > .git_ver |
| 166 | + - name: Checkout Android AAR binaries and artifacts |
| 167 | + run: git clone --depth 1 https://git.bitcoin.ninja/ldk-java-bins |
| 168 | + - name: Build Android aar |
| 169 | + run: | |
| 170 | + . $HOME/.cargo/env |
| 171 | + export LDK_GARBAGECOLLECTED_GIT_OVERRIDE="$(cat .git_ver)" |
| 172 | + cp "ldk-java-bins/${LDK_GARBAGECOLLECTED_GIT_OVERRIDE}/ldk-java-classes.jar" ./ |
| 173 | + export ANDROID_TOOLCHAIN="$(pwd)/android-ndk-r22b/toolchains/llvm/prebuilt/linux-x86_64" |
| 174 | + export PATH="$PATH:$ANDROID_TOOLCHAIN/bin" |
| 175 | + ./android-build.sh ./rust-lightning ./ldk-c-bindings/ ./ldk-java-bins/android-artifacts |
| 176 | + - name: Check latest library and jars are in bins repo |
| 177 | + run: | |
| 178 | + export LDK_GARBAGECOLLECTED_GIT_OVERRIDE="$(cat .git_ver)" |
| 179 | + rm "ldk-java-bins/${LDK_GARBAGECOLLECTED_GIT_OVERRIDE}/LDK-release.aar" |
| 180 | + cp LDK-release.aar "ldk-java-bins/${LDK_GARBAGECOLLECTED_GIT_OVERRIDE}/" |
99 | 181 | cd ldk-java-bins |
100 | 182 | git diff --exit-code |
101 | 183 |
|
@@ -172,7 +254,7 @@ jobs: |
172 | 254 | - name: Checkout latest Linux binaries |
173 | 255 | run: | |
174 | 256 | export LDK_GARBAGECOLLECTED_GIT_OVERRIDE="$(cat .git_ver)" |
175 | | - git clone https://git.bitcoin.ninja/ldk-java-bins |
| 257 | + git clone --depth 1 https://git.bitcoin.ninja/ldk-java-bins |
176 | 258 | mkdir -p src/main/resources/ |
177 | 259 | cp "ldk-java-bins/${LDK_GARBAGECOLLECTED_GIT_OVERRIDE}/liblightningjni_Linux-"* src/main/resources/ |
178 | 260 | - name: Build Java/TS Release Bindings |
|
0 commit comments