Skip to content

Commit 8c69730

Browse files
committed
ci: run kmp jvm tests on CI
1 parent 7485d8b commit 8c69730

3 files changed

Lines changed: 66 additions & 0 deletions

File tree

.github/workflows/pipeline.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,15 @@ jobs:
114114
- build-jvm-linux
115115
uses: ./.github/workflows/docs-jvm.yml
116116

117+
#################
118+
# KMP
119+
120+
test-kmp:
121+
needs:
122+
- build-jvm-linux
123+
- build-jvm-darwin
124+
uses: ./.github/workflows/test-kmp.yml
125+
117126
#################
118127
# iOS/Swift
119128

.github/workflows/test-kmp.yml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
concurrency:
2+
group: "${{ github.workflow }}-${{ github.ref }}-test-kmp-jvm"
3+
cancel-in-progress: true
4+
5+
on:
6+
workflow_call:
7+
workflow_dispatch:
8+
9+
env:
10+
RELEASE: 1
11+
12+
jobs:
13+
test-jvm:
14+
runs-on: ubuntu-latest
15+
16+
steps:
17+
- uses: actions/checkout@v6
18+
- name: set up jdk 17
19+
uses: actions/setup-java@v5
20+
with:
21+
java-version: "17"
22+
distribution: "adopt"
23+
- name: gradle setup
24+
uses: gradle/actions/setup-gradle@v5
25+
- name: validate gradle wrapper
26+
uses: gradle/actions/wrapper-validation@v5
27+
28+
- name: download linux library
29+
uses: ./.github/actions/make/jvm
30+
with:
31+
gh-token: ${{ secrets.GITHUB_TOKEN }}
32+
33+
# The specific jvm action uses `uname -s` to determine which `jvm` make rule to call.
34+
# Because this workflow runs on ubuntu, we're using the generic action
35+
- name: download aarch64 apple darwin artifact
36+
uses: ./.github/actions/make
37+
with:
38+
key: jvm-darwin
39+
make-rule: jvm-darwin
40+
target-path: target/aarch64-apple-darwin/release/libcore_crypto_ffi.dylib
41+
gh-token: ${{ secrets.GITHUB_TOKEN }}
42+
43+
- name: build and test kmp package
44+
uses: ./.github/actions/make
45+
with:
46+
key: kmp-jvm-test
47+
make-rule: kmp-jvm-test
48+
always-run: ${{ github.event_name == 'workflow_dispatch' || github.ref_name == 'main' }}
49+
gh-token: ${{ secrets.GITHUB_TOKEN }}

Makefile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -436,6 +436,14 @@ $(STAMPS)/jvm-test: $(jvm-test-deps)
436436
./gradlew jvm:test --rerun
437437
$(TOUCH_STAMP)
438438

439+
#-------------------------------------------------------------------------------
440+
# KMP (Kotlin Multiplatform) builds
441+
#-------------------------------------------------------------------------------
442+
443+
kmp-jvm-test:
444+
cd crypto-ffi/bindings && \
445+
./gradlew kmp:jvmTest --rerun
446+
439447
#-------------------------------------------------------------------------------
440448
# TypeScript / JS tasks
441449
#-------------------------------------------------------------------------------

0 commit comments

Comments
 (0)