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: cache uses: actions/cache@v2 with: path: | ~/.cargo/registry ~/.cargo/git ./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: | cd bdk-android ./gradlew 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 }} ORG_GRADLE_PROJECT_ossrhUsername: ${{ secrets.NEXUS_USERNAME }} ORG_GRADLE_PROJECT_ossrhPassword: ${{ secrets.NEXUS_PASSWORD }} run: | cd bdk-android ./gradlew publishToSonatype closeAndReleaseSonatypeStagingRepository