diff --git a/.github/workflows/apk.yml b/.github/workflows/apk.yml index 97d9325c69..dc813917e8 100644 --- a/.github/workflows/apk.yml +++ b/.github/workflows/apk.yml @@ -19,15 +19,8 @@ jobs: distribution: 'adopt' java-version: '18' - - name: Enable Gradle Wrapper caching (optimization) - uses: actions/cache@v4 - with: - path: | - ~/.gradle/caches - ~/.gradle/wrapper - key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} - restore-keys: | - ${{ runner.os }}-gradle- + - name: Gradle cache + uses: gradle/actions/setup-gradle@v4 - name: Build Demo APK run: ./gradlew assembleDemo diff --git a/.github/workflows/ci_actions_test.yml b/.github/workflows/ci_actions_test.yml index a4891ac074..ea13f8e98a 100644 --- a/.github/workflows/ci_actions_test.yml +++ b/.github/workflows/ci_actions_test.yml @@ -19,15 +19,8 @@ jobs: distribution: 'adopt' java-version: '18' - - name: Enable Gradle Wrapper caching (optimization) - uses: actions/cache@v4 - with: - path: | - ~/.gradle/caches - ~/.gradle/wrapper - key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} - restore-keys: | - ${{ runner.os }}-gradle- + - name: Gradle cache + uses: gradle/actions/setup-gradle@v4 - name: Test the CI actions "base" run: ./gradlew :ci-actions:base:test diff --git a/.github/workflows/compose_stability.yml b/.github/workflows/compose_stability.yml index d6f0f2e43d..a06c83f2e7 100644 --- a/.github/workflows/compose_stability.yml +++ b/.github/workflows/compose_stability.yml @@ -19,15 +19,8 @@ jobs: distribution: 'adopt' java-version: '18' - - name: Enable Gradle Wrapper caching (optimization) - uses: actions/cache@v4 - with: - path: | - ~/.gradle/caches - ~/.gradle/wrapper - key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} - restore-keys: | - ${{ runner.os }}-gradle- + - name: Gradle cache + uses: gradle/actions/setup-gradle@v4 - name: Build Compose compiler report (Jetpack Compose) run: ./gradlew assembleDemo -PcomposeCompilerReports=true diff --git a/.github/workflows/detekt.yml b/.github/workflows/detekt.yml index c4b3459e3e..01a3bfa490 100644 --- a/.github/workflows/detekt.yml +++ b/.github/workflows/detekt.yml @@ -19,15 +19,8 @@ jobs: distribution: 'adopt' java-version: '18' - - name: Enable Gradle Wrapper caching (optimization) - uses: actions/cache@v4 - with: - path: | - ~/.gradle/caches - ~/.gradle/wrapper - key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} - restore-keys: | - ${{ runner.os }}-gradle- + - name: Gradle cache + uses: gradle/actions/setup-gradle@v4 - name: Detekt run: ./gradlew detekt diff --git a/.github/workflows/integration_test.yml b/.github/workflows/integration_test.yml index d1aae42248..667ad5ac8c 100644 --- a/.github/workflows/integration_test.yml +++ b/.github/workflows/integration_test.yml @@ -19,31 +19,47 @@ jobs: distribution: 'adopt' java-version: '18' - - name: Enable Gradle Wrapper caching (optimization) + - name: Gradle cache + uses: gradle/actions/setup-gradle@v4 + + - name: Enable KVM (emulator optimization) + 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: AVD cache uses: actions/cache@v4 + id: avd-cache with: path: | - ~/.gradle/caches - ~/.gradle/wrapper - key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} - restore-keys: | - ${{ runner.os }}-gradle- + ~/.android/avd/* + ~/.android/adb* + key: avd-${{ matrix.api-level }} + + - name: create AVD and generate snapshot for caching + if: steps.avd-cache.outputs.cache-hit != 'true' + uses: reactivecircus/android-emulator-runner@v2.32.0 + with: + api-level: 34 + target: google_apis + arch: x86_64 + force-avd-creation: false + emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none + disable-animations: false + script: echo "Generated AVD snapshot for caching." - name: Build Ivy Wallet's code run: | ./gradlew :shared:data:core:assembleDebug :shared:data:core:assembleAndroidTest ./gradlew :shared:domain:assembleDebug :shared:domain:assembleAndroidTest - - name: Enable KVM (emulator optimization) - 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: Run android tests on Emulator - uses: reactivecircus/android-emulator-runner@v2 + - name: Run androidTest on emulator + uses: reactivecircus/android-emulator-runner@v2.32.0 with: - api-level: 29 + api-level: 34 + target: google_apis + arch: x86_64 script: | ./gradlew :shared:data:core:connectedDebugAndroidTest ./gradlew :shared:domain:connectedDebugAndroidTest diff --git a/.github/workflows/internal_release.yml b/.github/workflows/internal_release.yml index 9b7c95a9a2..3b1b70fbf9 100644 --- a/.github/workflows/internal_release.yml +++ b/.github/workflows/internal_release.yml @@ -39,17 +39,8 @@ jobs: run: bundle install #---------------------------------------------------- - # Optimization - - name: Enable Gradle Wrapper caching (optimization) - uses: actions/cache@v4 - with: - path: | - ~/.gradle/caches - ~/.gradle/wrapper - key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} - restore-keys: | - ${{ runner.os }}-gradle- - #--------------------------------------------------- + - name: Gradle cache + uses: gradle/actions/setup-gradle@v4 # Decode Secrets for production build - name: Create JKS for prod signing diff --git a/.github/workflows/issue_assign.yml b/.github/workflows/issue_assign.yml index 958e35ce4f..12a82d32a9 100644 --- a/.github/workflows/issue_assign.yml +++ b/.github/workflows/issue_assign.yml @@ -17,15 +17,8 @@ jobs: distribution: 'adopt' java-version: '18' - - name: Enable Gradle Wrapper caching (optimization) - uses: actions/cache@v4 - with: - path: | - ~/.gradle/caches - ~/.gradle/wrapper - key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} - restore-keys: | - ${{ runner.os }}-gradle- + - name: Gradle cache + uses: gradle/actions/setup-gradle@v4 - name: Execute the "Issue Assign" automation run: ./gradlew :ci-actions:issue-assign:run --args='issueNumber=${{ github.event.issue.number }} gitHubPAT=${{ secrets.IVYWALLET_BOT_GITHUB_PAT_2 }}' diff --git a/.github/workflows/issue_created.yml b/.github/workflows/issue_created.yml index 3c2d17bdee..69c38c6431 100644 --- a/.github/workflows/issue_created.yml +++ b/.github/workflows/issue_created.yml @@ -17,15 +17,8 @@ jobs: distribution: 'adopt' java-version: '18' - - name: Enable Gradle Wrapper caching (optimization) - uses: actions/cache@v4 - with: - path: | - ~/.gradle/caches - ~/.gradle/wrapper - key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} - restore-keys: | - ${{ runner.os }}-gradle- + - name: Gradle cache + uses: gradle/actions/setup-gradle@v4 - name: Execute the "Issue Created" automation run: ./gradlew :ci-actions:issue-create-comment:run --args='issueNumber=${{ github.event.issue.number }} gitHubPAT=${{ secrets.IVYWALLET_BOT_GITHUB_PAT_2 }}' diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index e8d2257a4b..8aae87093a 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -19,15 +19,8 @@ jobs: distribution: 'adopt' java-version: '18' - - name: Enable Gradle Wrapper caching (optimization) - uses: actions/cache@v4 - with: - path: | - ~/.gradle/caches - ~/.gradle/wrapper - key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} - restore-keys: | - ${{ runner.os }}-gradle- + - name: Gradle cache + uses: gradle/actions/setup-gradle@v4 - name: Lint (release) run: ./gradlew lintRelease diff --git a/.github/workflows/paparazzi_screenshot_test.yml b/.github/workflows/paparazzi_screenshot_test.yml index 25d0982466..3ec49a1abb 100644 --- a/.github/workflows/paparazzi_screenshot_test.yml +++ b/.github/workflows/paparazzi_screenshot_test.yml @@ -19,15 +19,8 @@ jobs: distribution: 'adopt' java-version: '18' - - name: Enable Gradle Wrapper caching (optimization) - uses: actions/cache@v4 - with: - path: | - ~/.gradle/caches - ~/.gradle/wrapper - key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} - restore-keys: | - ${{ runner.os }}-gradle- + - name: Gradle cache + uses: gradle/actions/setup-gradle@v4 - name: Run Paparazzi screenshot tests run: ./gradlew verifyPaparazziDebug diff --git a/.github/workflows/pr_description.yml b/.github/workflows/pr_description.yml index 7feef1577f..7beb7a416d 100644 --- a/.github/workflows/pr_description.yml +++ b/.github/workflows/pr_description.yml @@ -16,15 +16,8 @@ jobs: distribution: 'adopt' java-version: '18' - - name: Enable Gradle Wrapper caching (optimization) - uses: actions/cache@v4 - with: - path: | - ~/.gradle/caches - ~/.gradle/wrapper - key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} - restore-keys: | - ${{ runner.os }}-gradle- + - name: Gradle cache + uses: gradle/actions/setup-gradle@v4 - name: Extract PR description (base 64) id: extract_description diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1ea7bf62ed..c9b14ee2f7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -19,15 +19,8 @@ jobs: distribution: 'adopt' java-version: '18' - - name: Enable Gradle Wrapper caching (optimization) - uses: actions/cache@v4 - with: - path: | - ~/.gradle/caches - ~/.gradle/wrapper - key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} - restore-keys: | - ${{ runner.os }}-gradle- + - name: Gradle cache + uses: gradle/actions/setup-gradle@v4 - name: Run unit tests run: ./gradlew testDebugUnitTest