Publish bdk-android to Maven Central #15
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Publish bdk-android to Maven Central | |
on: [workflow_dispatch] | |
# The default Android NDK on the ubuntu-22.04 image is 25.2.9519653 | |
# We replace the default environment variable ANDROID_NDK_ROOT: /usr/local/lib/android/sdk/ndk/25.2.9519653 | |
# with an older version of the NDK (21.4.7075529) using the fix proposed here: https://github.com/actions/runner-images/issues/5930 | |
# For information on why this is needed at the moment see issues #242 and #243, and PR #282 | |
env: | |
ANDROID_NDK_ROOT: /usr/local/lib/android/sdk/ndk/21.4.7075529 | |
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@v3 | |
- name: "Cache" | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/registry | |
~/.cargo/git | |
./target | |
key: ${{ runner.os }}-${{ hashFiles('**/Cargo.toml','**/Cargo.lock') }} | |
- name: "Set up JDK" | |
uses: actions/setup-java@v3 | |
with: | |
distribution: temurin | |
java-version: 11 | |
- name: "Set default Rust version to 1.67.0" | |
run: rustup default 1.67.0 | |
- 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 |