Skip to content

Release 2.0.0 (#130) #213

Release 2.0.0 (#130)

Release 2.0.0 (#130) #213

name: Test Compose Multiplatform Example Apps
on:
push:
branches:
- main
- develop
pull_request:
branches:
- main
- develop
jobs:
test-jvm:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '17'
- name: Publish revision to maven local
run:
./gradlew :kmp-grpc-plugin:publishToMavenLocal :kmp-grpc-core:publishToMavenLocal -Pio.github.timortel.kmp-grpc.internal.targets=JVM
- name: Start test-server
run: |
cd examples/compose-example
nohup ./gradlew :server:run &
echo $! > gradle_pid.txt
- name: Wait for test-server to be healthy
uses: ./.github/actions/wait-for-server-action
with:
port: 17888
rpc: io.github.timortel.kmpgrpc.composeexample.shared.CommunicationService/emptyRpc
- name: Run tests
run: |
cd examples/compose-example
./gradlew :composeApp:testDebugUnitTest :composeApp:desktopTest
test-js:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '17'
- name: Publish revision to maven local
run:
./gradlew :kmp-grpc-plugin:publishToMavenLocal :kmp-grpc-core:publishToMavenLocal -Pio.github.timortel.kmp-grpc.internal.targets=JS
- name: Start test-server
run: |
cd examples/compose-example
nohup ./gradlew :server:run &
echo $! > gradle_pid.txt
- name: Wait for test-server to be healthy
uses: ./.github/actions/wait-for-server-action
with:
port: 17888
rpc: io.github.timortel.kmpgrpc.composeexample.shared.CommunicationService/emptyRpc
- name: Start envoy service
run: docker run -d --rm --name envoy --network host -v $(pwd)/kmp-grpc-internal-test/envoy.yml:/etc/envoy/envoy.yaml -p 8082:8082 envoyproxy/envoy-dev:latest
- name: Run tests
# ./gradlew :composeAppJs:jsTest :composeApp:wasmJsTest - TODO: wasmJs tests currently do not work due to a coroutine issue in test code!
run: |
cd examples/compose-example
./gradlew :composeAppJs:jsTest
test-ios:
runs-on: macos-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '17'
- name: Publish revision to maven local
run:
./gradlew :kmp-grpc-plugin:publishToMavenLocal :kmp-grpc-core:publishToMavenLocal -Pio.github.timortel.kmp-grpc.internal.targets=NATIVE_APPLE
- name: Install grpcurl
run: brew install grpcurl
- name: Start test-server
run: |
cd examples/compose-example
nohup ./gradlew :server:run &
echo $! > gradle_pid.txt
- name: Wait for test-server to be healthy
uses: ./.github/actions/wait-for-server-action
with:
port: 17888
rpc: io.github.timortel.kmpgrpc.composeexample.shared.CommunicationService/emptyRpc
- name: Run tests
run: |
cd examples/compose-example
./gradlew :composeApp:iosSimulatorArm64Test -PappleTargetsOnly=true