diff --git a/.github/workflows/publish-android.yaml b/.github/workflows/publish-android.yaml new file mode 100644 index 0000000..87a04bb --- /dev/null +++ b/.github/workflows/publish-android.yaml @@ -0,0 +1,61 @@ +name: Publish bdk-android to Maven Central +on: [workflow_dispatch] + +env: + ANDROID_NDK_ROOT: /usr/local/lib/android/sdk/ndk/21.4.7075529 + # By default the new ubuntu-20.04 images use the following ANDROID_NDK_ROOT + # ANDROID_NDK_ROOT: /usr/local/lib/android/sdk/ndk/25.0.8775105 + +jobs: + build: + runs-on: ubuntu-20.04 + steps: + - name: Install Android NDK 21.4.7075529 + run: | + ANDROID_ROOT=/usr/local/lib/android + ANDROID_SDK_ROOT=${ANDROID_ROOT}/sdk + SDKMANAGER=${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin/sdkmanager + echo "y" | $SDKMANAGER "ndk;21.4.7075529" + + - name: Check out PR branch + uses: actions/checkout@v2 + + - name: Update bdk-ffi git submodule + run: | + git submodule set-url bdk-ffi https://github.com/bitcoindevkit/bdk-ffi.git + git submodule update --init bdk-ffi + + - name: cache + uses: actions/cache@v2 + with: + path: | + ~/.cargo/registry + ~/.cargo/git + bdk-ffi/target + key: ${{ runner.os }}-${{ hashFiles('**/Cargo.toml','**/Cargo.lock') }} + + - name: Set up JDK + uses: actions/setup-java@v2 + with: + distribution: temurin + java-version: 11 + + - name: Install rust android targets + run: rustup target add x86_64-linux-android aarch64-linux-android armv7-linux-androideabi + + - name: Build bdk-android library + run: ./gradlew :android:buildAndroidLib + + - name: Publish to Maven Local and Maven Central + env: + ORG_GRADLE_PROJECT_signingKeyId: ${{ secrets.PGP_KEY_ID }} + ORG_GRADLE_PROJECT_signingKey: ${{ secrets.PGP_SECRET_KEY }} + ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.PGP_PASSPHRASE }} + run: ./gradlew :android:publishToMavenLocal :android:publishToSonatype + + # Copy/paste this artifact in your local Maven repository at ~/.m2/repository/ + - name: Upload library from MavenLocal + uses: actions/upload-artifact@v3 + with: + name: mavenlocal-bdk-android-artifact + path: ~/.m2/repository/ \ No newline at end of file diff --git a/.github/workflows/publish-jvm.yaml b/.github/workflows/publish-jvm.yaml index 6d05766..0aeb985 100644 --- a/.github/workflows/publish-jvm.yaml +++ b/.github/workflows/publish-jvm.yaml @@ -85,7 +85,7 @@ jobs: name: artifact path: ./jvm/src/main/resources/ - - name: Publish to MavenLocal + - name: Publish to Maven Local and Maven Central env: ORG_GRADLE_PROJECT_signingKeyId: ${{ secrets.PGP_KEY_ID }} ORG_GRADLE_PROJECT_signingKey: ${{ secrets.PGP_SECRET_KEY }}