UI branch - Draft PR #51
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: BisqApps | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
workflow_dispatch: | |
jobs: | |
build: | |
name: Project Build & Test | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
# os: [ubuntu-latest, macos-14, macos-latest] | |
# platform: [androidNode, androidClient, iosClient] | |
# TODO build fails on macos - might be an issue with the Pods compiled in MacOS 15 pushed to the repo (support for XCode 15 is still under dev for KMP) | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up JDK 17 (Azul Zulu) | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '17' | |
distribution: 'zulu' | |
cache: gradle | |
# Cache Gradle dependencies | |
- name: Cache Gradle dependencies | |
uses: actions/[email protected] | |
with: | |
path: | | |
~/.gradle/caches | |
~/.gradle/wrapper | |
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} | |
restore-keys: | | |
${{ runner.os }}-gradle- | |
- name: Grant execute permission for gradlew | |
working-directory: ./bisqapps | |
run: | | |
chmod +x gradlew | |
# Android setup | |
- name: Set up Android SDK | |
uses: android-actions/setup-android@v2 | |
with: | |
api-level: 33 | |
build-tools: 33.0.0 | |
# MacOS setup | |
# needed for macos terminal build to not hang doing linkDebugFrameworkxxxxArm64 related tasks | |
- name: Set up Xcode | |
if: startsWith(matrix.os, 'macos') | |
run: | | |
sudo xcode-select -s /Applications/Xcode_14.3.app | |
xcodebuild -version | |
# sudo xcode-select -s /Applications/Xcode_15.0.app | |
# TODO: restore androidNode once dependant bisq2 jars get published in a public maven repo | |
- name: Build project | |
working-directory: ./bisqapps | |
run: ./gradlew clean build -x androidNode:build --info | |
- name: Run all project tests | |
working-directory: ./bisqapps | |
run: ./gradlew test -x androidNode:test | |
- name: Run androidClient Tests | |
working-directory: ./bisqapps | |
run: ./gradlew androidClient:testDebugUnitTest androidClient:connectedDebugAndroidTest | |
# TODO: restore androidNode once dependant bisq2 jars get published in a public maven repo | |
# - name: Run androidNode Tests | |
# working-directory: ./bisqapps | |
# run: ./gradlew androidNode:testDebugUnitTest androidNode:connectedDebugAndroidTest | |
# TODO ios specific and run on emulator if needed | |
- name: Run iOS Tests | |
working-directory: ./bisqapps | |
if: startsWith(matrix.os, 'macos') | |
run: ./gradlew shared:presentation:iosSimulatorArm64Test |