diff --git a/.github/workflows/pr-code-checks.yml b/.github/workflows/pr-code-checks.yml index afb4bcb..f156028 100644 --- a/.github/workflows/pr-code-checks.yml +++ b/.github/workflows/pr-code-checks.yml @@ -15,9 +15,14 @@ jobs: name: setup bun - name: install quilt run: brew install quilt + - uses: nttld/setup-ndk@v1.6.0 + id: setup-ndk + with: + ndk-version: r29 + add-to-path: false - name: install deps run: bun install - name: check bun lockfile run: git diff --exit-code HEAD -- bun.lock || exit 1 - name: build - run: bun run build + run: ANDROID_NDK_HOME="${{ steps.setup-ndk.outputs.ndk-path }}" bun run build diff --git a/.github/workflows/publish-npm.yml b/.github/workflows/publish-npm.yml index 69c9ba7..f9a6846 100644 --- a/.github/workflows/publish-npm.yml +++ b/.github/workflows/publish-npm.yml @@ -36,10 +36,15 @@ jobs: run: npm i -g npm@^11.14 - name: install quilt run: brew install quilt + - uses: nttld/setup-ndk@v1.6.0 + id: setup-ndk + with: + ndk-version: r29 + add-to-path: false - name: install deps run: bun install - name: build - run: bun run build + run: ANDROID_NDK_HOME="${{ steps.setup-ndk.outputs.ndk-path }}" bun run build - name: release-it run: PATH="`pwd`/bin:${PATH}" bunx release-it --ci - name: publish npm package (npmjs) diff --git a/package.json b/package.json index 7de14b2..266a35a 100644 --- a/package.json +++ b/package.json @@ -21,10 +21,15 @@ ], "scripts": { "clean": "rm -rf prebuilds build", - "build": "bun run build:ios-arm64 && bun run build:ios-arm64-simulator", + "build": "bun run build:ios-arm64 && bun run build:android && bun run mobile:copy-prebuilds", "build:ios-arm64": "bare-make generate --platform ios --arch arm64 --build build/ios-arm64 --define CMAKE_POLICY_VERSION_MINIMUM=3.5 && sh patch-wasm3.sh && bare-make build --build build/ios-arm64 && bare-make install --build build/ios-arm64", "build:ios-arm64-simulator": "bare-make generate --platform ios --arch arm64 --simulator --build build/ios-arm64-simulator --define CMAKE_POLICY_VERSION_MINIMUM=3.5 && sh patch-wasm3.sh && bare-make build --build build/ios-arm64-simulator && bare-make install --build build/ios-arm64-simulator", - "dev:build": "bare-make generate --platform ios --arch arm64 --build build/ios-arm64 --define CMAKE_POLICY_VERSION_MINIMUM=3.5 --define CMAKE_C_FLAGS=-DBW3_DBG_ENABLED=1 && sh patch-wasm3.sh && bare-make build --build build/ios-arm64 && bare-make install --build build/ios-arm64", + "build:android": "bun run build:android-arm64", + "build:android-arm64": "bare-make generate --define CMAKE_POLICY_VERSION_MINIMUM=3.5 --platform android --arch arm64 --build build/android-arm64 && sh patch-wasm3.sh && bare-make build --build build/android-arm64 && bare-make install --build build/android-arm64", + "mobile:copy-prebuilds": "cp -r prebuilds/android-arm64 prebuilds/android-arm || echo 'android-arm prebuilds already present' && cp -r prebuilds/android-arm64 prebuilds/android-ia32 || echo 'android-ia32 prebuilds already present' && cp -r prebuilds/android-arm64 prebuilds/android-x64 || echo 'android-x64 prebuilds already present' && cp -r prebuilds/ios-arm64 prebuilds/ios-arm64-simulator || echo 'ios-arm64-simulator prebuilds already present' && cp -r prebuilds/ios-arm64 prebuilds/ios-x64-simulator || echo 'ios-x64-simulator prebuilds already present'", + "dev:build": "bun run dev:build:ios-arm64 && bun run dev:build:android-arm64 && bun run mobile:copy-prebuilds", + "dev:build:ios-arm64": "bare-make generate --platform ios --arch arm64 --build build/ios-arm64 --define CMAKE_POLICY_VERSION_MINIMUM=3.5 --define CMAKE_C_FLAGS=-DBW3_DBG_ENABLED=1 && sh patch-wasm3.sh && bare-make build --build build/ios-arm64 && bare-make install --build build/ios-arm64", + "dev:build:android-arm64": "bare-make generate --define CMAKE_POLICY_VERSION_MINIMUM=3.5 --define CMAKE_C_FLAGS=-DBW3_DBG_ENABLED=1 --platform android --arch arm64 --build build/android-arm64 && sh patch-wasm3.sh && bare-make build --build build/android-arm64 && bare-make install --build build/android-arm64", "dev:link": "bun node_modules/react-native-bare-kit/ios/link.mjs" }, "devDependencies": { diff --git a/patch-wasm3.sh b/patch-wasm3.sh index e05a280..7bba205 100644 --- a/patch-wasm3.sh +++ b/patch-wasm3.sh @@ -7,7 +7,7 @@ set -e BASE="$(cd "$(dirname "$0")" && pwd)" -for build_dir in "build/ios-arm64" "build/ios-arm64-simulator"; do +for build_dir in "build/ios-arm64" "build/ios-arm64-simulator" "build/android-arm64"; do src="$BASE/$build_dir/_deps/github+wasm3+wasm3-src/source" if [ ! -d "$src" ]; then echo " [patch] skipping $build_dir (not yet generated)"