|
79 | 79 | working-directory: sdk/runanywhere-commons |
80 | 80 | run: ./scripts/build-ios.sh --backend all --release --include-macos --package |
81 | 81 | - name: Compute checksums |
82 | | - working-directory: sdk/runanywhere-commons/dist |
| 82 | + # build-ios.sh --package writes zips to dist/packages/, not dist/. |
| 83 | + # Checksum each packaged zip and keep them in the same directory so |
| 84 | + # they upload as one bundle. |
| 85 | + working-directory: sdk/runanywhere-commons/dist/packages |
83 | 86 | run: | |
84 | 87 | for f in *.zip; do |
85 | 88 | [ -f "$f" ] && shasum -a 256 "$f" > "$f.sha256" |
|
90 | 93 | with: |
91 | 94 | name: native-ios-macos |
92 | 95 | path: | |
93 | | - sdk/runanywhere-commons/dist/*.zip |
94 | | - sdk/runanywhere-commons/dist/*.sha256 |
| 96 | + sdk/runanywhere-commons/dist/packages/*.zip |
| 97 | + sdk/runanywhere-commons/dist/packages/*.sha256 |
95 | 98 | retention-days: 7 |
96 | 99 | if-no-files-found: error |
97 | 100 |
|
@@ -213,12 +216,27 @@ jobs: |
213 | 216 | working-directory: sdk/runanywhere-web |
214 | 217 | run: ./scripts/build-web.sh --build-wasm --all-backends |
215 | 218 | - name: Package Web/WASM outputs |
| 219 | + # build-web.sh puts every WASM variant (CPU, WebGPU, sherpa) under |
| 220 | + # packages/llamacpp/wasm (see WASM_OUTPUT_DIR in scripts/build-web.sh). |
| 221 | + # Also include packages/core/wasm if present (sherpa-onnx artifacts |
| 222 | + # sometimes land here). Package only directories that actually exist |
| 223 | + # so a missing optional variant (e.g. WebGPU on older emsdk) doesn't |
| 224 | + # break the release. |
216 | 225 | working-directory: sdk/runanywhere-web |
217 | 226 | run: | |
| 227 | + set -euo pipefail |
218 | 228 | mkdir -p dist |
| 229 | + tar_inputs=() |
| 230 | + for d in llamacpp/wasm core/wasm onnx/wasm; do |
| 231 | + [ -d "packages/$d" ] && tar_inputs+=("$d") |
| 232 | + done |
| 233 | + if [ ${#tar_inputs[@]} -eq 0 ]; then |
| 234 | + echo "::error::No WASM output directories produced by build-web.sh" |
| 235 | + exit 1 |
| 236 | + fi |
| 237 | + echo "Packaging: ${tar_inputs[*]}" |
219 | 238 | tar czf "dist/RACommons-web-v${{ needs.validate.outputs.version }}.tar.gz" \ |
220 | | - -C packages \ |
221 | | - $(ls packages | grep -E '^(core|llamacpp|onnx)$' | sed 's,$,/wasm,') |
| 239 | + -C packages "${tar_inputs[@]}" |
222 | 240 | shasum -a 256 "dist/RACommons-web-v${{ needs.validate.outputs.version }}.tar.gz" \ |
223 | 241 | > "dist/RACommons-web-v${{ needs.validate.outputs.version }}.tar.gz.sha256" |
224 | 242 | - name: Upload Web/WASM artifacts |
@@ -267,8 +285,11 @@ jobs: |
267 | 285 | done |
268 | 286 | ls -la sdk/runanywhere-kotlin/src/androidMain/jniLibs/ || true |
269 | 287 | - name: Build Kotlin AAR + JAR |
| 288 | + # useLocalNatives=true: use the JNI libs staged above from native_android |
| 289 | + # artifacts, not the release-asset URLs which don't exist until this |
| 290 | + # workflow uploads them at the end. |
270 | 291 | working-directory: sdk/runanywhere-kotlin |
271 | | - run: ./gradlew build assembleRelease -x test --no-daemon |
| 292 | + run: ./gradlew -Prunanywhere.useLocalNatives=true build assembleRelease -x test --no-daemon |
272 | 293 | - name: Collect Kotlin SDK artifacts |
273 | 294 | run: | |
274 | 295 | mkdir -p sdk-staging/kotlin |
|
0 commit comments