* checkout (v3) * setup-java (v3) * cache (v3) * upload-artifact (v3) * setup-python (v4)
61 lines
2.2 KiB
YAML
61 lines
2.2 KiB
YAML
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
|