Merge pull request #87 from bitcoindevkit/publish-to-staging

Publish bdk-jvm and bdk-android to Maven Central
This commit is contained in:
thunderbiscuit 2022-09-08 10:45:00 -04:00 committed by GitHub
commit 4e14e8d22a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 81 additions and 58 deletions

56
.github/workflows/publish-android.yaml vendored Normal file
View File

@ -0,0 +1,56 @@
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 }}
ORG_GRADLE_PROJECT_ossrhUsername: ${{ secrets.NEXUS_USERNAME }}
ORG_GRADLE_PROJECT_ossrhPassword: ${{ secrets.NEXUS_PASSWORD }}
run: ./gradlew :android:publishToSonatype closeAndReleaseSonatypeStagingRepository

View File

@ -85,18 +85,11 @@ jobs:
name: artifact
path: ./jvm/src/main/resources/
- name: Upload everything in jvm/src/
uses: actions/upload-artifact@v3
with:
name: final-src-directory
path: /home/runner/work/bdk-kotlin/bdk-kotlin/jvm/
- name: Publish to MavenLocal
run: ./gradlew :jvm:publishToMavenLocal --exclude-task signMavenPublication
# 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-jvm-artifact
path: ~/.m2/repository/
- name: Publish to 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: ./gradlew :jvm:publishToSonatype closeAndReleaseSonatypeStagingRepository

View File

@ -1,4 +0,0 @@
# Module bdk-android
The [bitcoindevkit](https://bitcoindevkit.org/) language bindings library for Android.
# Package org.bitcoindevkit

View File

@ -4,9 +4,6 @@ plugins {
id("maven-publish")
id("signing")
// API docs
id("org.jetbrains.dokka")
// Custom plugin to generate the native libs and bindings file
id("org.bitcoindevkit.plugins.generate-android-bindings")
}
@ -95,16 +92,11 @@ afterEvaluate {
}
signing {
useGpgCmd()
// useGpgCmd()
// sign(publishing.publications)
val signingKeyId: String? by project
val signingKey: String? by project
val signingPassword: String? by project
useInMemoryPgpKeys(signingKeyId, signingKey, signingPassword)
sign(publishing.publications)
}
// tasks.withType<org.jetbrains.dokka.gradle.DokkaTask>().configureEach {
// dokkaSourceSets {
// named("main") {
// moduleName.set("bdk-android")
// moduleVersion.set("0.8.0-SNAPSHOT")
// includes.from("Module.md")
// }
// }
// }

View File

@ -13,15 +13,15 @@ plugins {
id("signing")
id("maven-publish")
id("io.github.gradle-nexus.publish-plugin") version "1.1.0"
id("org.jetbrains.dokka") version "1.6.10"
}
signing {
val signingKey: String? by project
val signingPassword: String? by project
useInMemoryPgpKeys(signingKey, signingPassword)
sign(publishing.publications)
}
// signing {
// val signingKeyId: String? by project
// val signingKey: String? by project
// val signingPassword: String? by project
// useInMemoryPgpKeys(signingKeyId, signingKey, signingPassword)
// sign(publishing.publications)
// }
// does this need to be defined here? Not sure
// it used to be defined in the nexusPublishing block but is not required

View File

@ -1,4 +0,0 @@
# Module bdk-jvm
The [bitcoindevkit](https://bitcoindevkit.org/) language bindings library for the JVM.
# Package org.bitcoindevkit

View File

@ -7,9 +7,6 @@ plugins {
id("maven-publish")
id("signing")
// API docs
id("org.jetbrains.dokka")
// Custom plugin to generate the native libs and bindings file
id("org.bitcoindevkit.plugins.generate-jvm-bindings")
}
@ -93,16 +90,9 @@ afterEvaluate {
}
signing {
useGpgCmd()
val signingKeyId: String? by project
val signingKey: String? by project
val signingPassword: String? by project
useInMemoryPgpKeys(signingKeyId, signingKey, signingPassword)
sign(publishing.publications)
}
// tasks.withType<org.jetbrains.dokka.gradle.DokkaTask>().configureEach {
// dokkaSourceSets {
// named("main") {
// moduleName.set("bdk-jvm")
// moduleVersion.set("0.8.0-SNAPSHOT")
// includes.from("Module.md")
// }
// }
// }