Add workflow to publish bdk-jvm (#76)
This commit is contained in:
parent
989b7339a0
commit
3750a7ebd6
102
.github/workflows/publish-jvm.yaml
vendored
Normal file
102
.github/workflows/publish-jvm.yaml
vendored
Normal file
@ -0,0 +1,102 @@
|
||||
name: Publish bdk-jvm to Maven Central
|
||||
on: [workflow_dispatch]
|
||||
#on:
|
||||
# release:
|
||||
# types: [published]
|
||||
|
||||
jobs:
|
||||
build-jvm-macOS-M1-native-lib:
|
||||
name: Create M1 and x86_64 JVM native binaries
|
||||
runs-on: macos-12
|
||||
steps:
|
||||
- name: Checkout publishing 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@v3
|
||||
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 aarch64 Rust target
|
||||
run: rustup target add aarch64-apple-darwin
|
||||
|
||||
- name: Build bdk-jvm library
|
||||
run: ./gradlew :jvm:buildJvmLib
|
||||
|
||||
# build aarch64 + x86_64 native libraries and upload
|
||||
- name: Upload macOS native libraries for reuse in publishing job
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
# name: no name is required because we upload the entire directory
|
||||
# the default name "artifact" will be used
|
||||
path: /Users/runner/work/bdk-kotlin/bdk-kotlin/jvm/src/main/resources/
|
||||
|
||||
build-jvm-full-library:
|
||||
name: Create full bdk-jvm library
|
||||
needs: [build-jvm-macOS-M1-native-lib]
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- name: Checkout publishing 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@v3
|
||||
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: Build bdk-jvm library
|
||||
run: ./gradlew :jvm:buildJvmLib
|
||||
|
||||
- name: Download macOS native libraries from previous job
|
||||
uses: actions/download-artifact@v3
|
||||
id: download
|
||||
with:
|
||||
# download the artifact created in the prior job (named "artifact")
|
||||
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/
|
@ -1,5 +1,4 @@
|
||||
name: Tests
|
||||
|
||||
name: Test Android
|
||||
on: [push, pull_request]
|
||||
|
||||
env:
|
||||
@ -49,9 +48,3 @@ jobs:
|
||||
|
||||
- name: Run Android tests
|
||||
run: ./gradlew :android:test --console=rich
|
||||
|
||||
- name: Build bdk-jvm library
|
||||
run: ./gradlew :jvm:buildJvmLib
|
||||
|
||||
- name: Run JVM tests
|
||||
run: ./gradlew :jvm:test --console=rich
|
35
.github/workflows/test-jvm.yaml
vendored
Normal file
35
.github/workflows/test-jvm.yaml
vendored
Normal file
@ -0,0 +1,35 @@
|
||||
name: Test JVM
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- 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: Build bdk-jvm library
|
||||
run: ./gradlew :jvm:buildJvmLib
|
||||
|
||||
- name: Run JVM tests
|
||||
run: ./gradlew :jvm:test --console=rich
|
Loading…
x
Reference in New Issue
Block a user