Skip to content

Update dependency com.android.tools.build:gradle to v8.7.2 #517

Update dependency com.android.tools.build:gradle to v8.7.2

Update dependency com.android.tools.build:gradle to v8.7.2 #517

Workflow file for this run

name: Build & Ship
on:
pull_request:
merge_group:
jobs:
compose-ui-tests:
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 17
distribution: 'adopt'
cache: 'gradle'
- name: Enable KVM
run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm
- name: Set up Emulator, Build and Run Tests
uses: ReactiveCircus/android-emulator-runner@v2.33.0
with:
api-level: 29
script: |
adb devices
./gradlew assembleDebug
./gradlew connectedCheck -PtestBuildType=debug --info
- name: Retry Tests if Failed
uses: nick-fields/retry@v3
if: failure()
with:
timeout_minutes: 15
max_attempts: 2
command: |
adb devices
./gradlew connectedCheck -PtestBuildType=debug --info
- name: Upload Compose UI Test Results
if: always()
uses: actions/upload-artifact@v4
with:
name: compose-ui-test-results
path: '**/build/reports/androidTests/'
unit-tests-and-detekt:
runs-on: ubuntu-latest
timeout-minutes: 45
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 17
distribution: 'adopt'
cache: 'gradle'
- name: Run Detekt
uses: nick-fields/retry@v3
with:
timeout_minutes: 15
max_attempts: 2
command: ./gradlew detekt
- name: Run Unit Tests
uses: nick-fields/retry@v3
with:
timeout_minutes: 15
max_attempts: 2
command: ./gradlew test --stacktrace
- name: Upload Unit Test Results
if: always()
uses: actions/upload-artifact@v4
with:
name: unit-test-results
path: '**/build/reports/tests/'
- name: Upload Detekt Results
if: always()
uses: actions/upload-artifact@v4
with:
name: detekt-results
path: '**/build/reports/detekt/'
iOS-build:
runs-on: macos-latest
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- name: Set up Java
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 17
- name: Build macOS shared code
uses: nick-fields/retry@v3
with:
timeout_minutes: 20
max_attempts: 2
command: ./gradlew :shared:compileKotlinIosSimulatorArm64
- name: iOS set up
uses: ./.github/actions/ios-action
- name: Build iOS app
uses: nick-fields/retry@v3
with:
timeout_minutes: 25
max_attempts: 2
command: xcodebuild build -workspace iosApp/iosApp.xcworkspace -configuration Debug -scheme iosApp -sdk iphoneos -destination name='iPhone 14' -verbose
maestro-ui-tests-and-upload-apk:
runs-on: ubuntu-latest
timeout-minutes: 45
outputs:
app: androidApp/build/outputs/apk/debug
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 17
distribution: 'adopt'
cache: 'gradle'
- name: Assemble Debug APK
uses: nick-fields/retry@v3
with:
timeout_minutes: 20
max_attempts: 2
command: ./gradlew :androidApp:assembleDebug
- name: Run Maestro Tests
uses: mobile-dev-inc/action-maestro-cloud@v1.9.2
with:
api-key: ${{ secrets.MAESTRO_CLOUD_API_KEY }}
app-file: androidApp/build/outputs/apk/debug/androidApp-debug.apk
- name: Upload APK
uses: actions/upload-artifact@v4
with:
name: apk
path: androidApp/build/outputs/apk/debug/androidApp-debug.apk
desktop-build:
runs-on: ubuntu-latest
timeout-minutes: 45
steps:
- uses: actions/checkout@v4
- name: Set up Java
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 17
- name: Build desktop app
uses: nick-fields/retry@v3
with:
timeout_minutes: 20
max_attempts: 2
command: ./gradlew :desktop:packageDistributionForCurrentOS
web-build:
runs-on: ubuntu-latest
timeout-minutes: 45
steps:
- uses: actions/checkout@v4
- name: Set up Java
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 17
- name: Build web app
uses: nick-fields/retry@v3
with:
timeout_minutes: 20
max_attempts: 2
command: ./gradlew :webApp:jsBrowserDevelopmentExecutableDistribution
wasm-build:
runs-on: ubuntu-latest
timeout-minutes: 45
steps:
- uses: actions/checkout@v4
- name: Set up Java
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: 17
- name: Build wasm app
uses: nick-fields/retry@v3
with:
timeout_minutes: 20
max_attempts: 2
command: ./gradlew :wasmApp:wasmBrowserDevelopmentExecutableDistribution