Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 17 additions & 8 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,16 +25,25 @@ jobs:

- uses: actions/download-artifact@v8
with:
merge-multiple: true
path: artifacts

- name: Copy Android natives to jniLibs
- name: Stage native libraries
run: |
mkdir -p simdjson-kotlin/src/androidMain/jniLibs/arm64-v8a
mkdir -p simdjson-kotlin/src/androidMain/jniLibs/x86_64
cp simdjson-native/build-android-arm64-v8a/libsimdjson_jni.so \
simdjson-kotlin/src/androidMain/jniLibs/arm64-v8a/
cp simdjson-native/build-android-x86_64/libsimdjson_jni.so \
simdjson-kotlin/src/androidMain/jniLibs/x86_64/
# actions/upload-artifact roots each artifact at the least-common-ancestor
# of its paths, so the simdjson-native/ prefix (and, for single-file
# artifacts, the whole directory) is stripped. Reconstruct the layout the
# Gradle publish expects. Host-native libraries (macos-arm64 JNI, macOS/iOS
# Kotlin/Native .a) are rebuilt on this runner, so only the cross-compiled
# libraries are staged here.
stage() { mkdir -p "$(dirname "$2")"; cp "$1" "$2"; }

stage artifacts/native-jni-linux-x64/libsimdjson_jni.so simdjson-native/build-jvm-linux-x64/libsimdjson_jni.so
stage artifacts/native-jni-linux-arm64/libsimdjson_jni.so simdjson-native/build-jvm-linux-arm64/libsimdjson_jni.so
stage artifacts/native-jni-windows-x64/simdjson_jni.dll simdjson-native/build-jvm-windows-x64/simdjson_jni.dll
stage artifacts/native-kn-linux-x64/libsimdjson_c.a simdjson-native/build-linux-x64/libsimdjson_c.a

stage artifacts/native-android/build-android-arm64-v8a/libsimdjson_jni.so simdjson-kotlin/src/androidMain/jniLibs/arm64-v8a/libsimdjson_jni.so
stage artifacts/native-android/build-android-x86_64/libsimdjson_jni.so simdjson-kotlin/src/androidMain/jniLibs/x86_64/libsimdjson_jni.so

- name: Publish
run: ./gradlew publishToMavenCentral -Psimdjson.allTargets=true
Expand Down