From b263064c7b8e0883e0596d7a4dda81d2dcfbf5c6 Mon Sep 17 00:00:00 2001 From: alduzy Date: Wed, 19 Jun 2024 11:23:12 +0200 Subject: [PATCH 01/17] chore: moved android e2e to ubuntu --- .github/workflows/android-e2e-test.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/.github/workflows/android-e2e-test.yml b/.github/workflows/android-e2e-test.yml index f1b74365cd..877ece123c 100644 --- a/.github/workflows/android-e2e-test.yml +++ b/.github/workflows/android-e2e-test.yml @@ -14,24 +14,25 @@ on: workflow_dispatch: jobs: test: - runs-on: macos-12 + runs-on: ubuntu-latest timeout-minutes: 60 env: WORKING_DIRECTORY: Example + API_LEVEL: 31 concurrency: group: android-e2e-${{ github.ref }} cancel-in-progress: true steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Set up JDK 17 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: java-version: '17' distribution: 'zulu' cache: 'gradle' - name: Use Node.js 18 - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: 18 cache: 'yarn' @@ -52,10 +53,10 @@ jobs: working-directory: ${{ env.WORKING_DIRECTORY }} run: yarn build-e2e-android - name: Run emulator and tests - uses: reactivecircus/android-emulator-runner@v2 + uses: reactivecircus/android-emulator-runner@v2.30.1 with: working-directory: ${{ env.WORKING_DIRECTORY }} - api-level: 31 + api-level: ${{ env.API_LEVEL }} target: aosp_atd profile: pixel_2 ram-size: '4096M' @@ -64,7 +65,7 @@ jobs: avd-name: e2e_emulator arch: x86_64 script: yarn test-e2e-android - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: ${{ failure() }} with: name: android-fail-screen-shots From 8760c35ad5b29af7a3595727d70138792270d6c5 Mon Sep 17 00:00:00 2001 From: alduzy Date: Wed, 19 Jun 2024 11:55:12 +0200 Subject: [PATCH 02/17] feat: added Enable KVM group perms step --- .github/workflows/android-e2e-test.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/android-e2e-test.yml b/.github/workflows/android-e2e-test.yml index 877ece123c..cb3ae9ae78 100644 --- a/.github/workflows/android-e2e-test.yml +++ b/.github/workflows/android-e2e-test.yml @@ -52,6 +52,19 @@ jobs: - name: Build app working-directory: ${{ env.WORKING_DIRECTORY }} run: yarn build-e2e-android + - name: Enable KVM group perms + 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: | + ~/.android/avd/* + ~/.android/adb* + key: avd-${{ env.API_LEVEL }} - name: Run emulator and tests uses: reactivecircus/android-emulator-runner@v2.30.1 with: From 85c80f2ee0f124bab37a753f9b6aee5dcb67642d Mon Sep 17 00:00:00 2001 From: alduzy Date: Wed, 19 Jun 2024 12:18:17 +0200 Subject: [PATCH 03/17] feat: added free disk space step --- .github/workflows/android-e2e-test.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/android-e2e-test.yml b/.github/workflows/android-e2e-test.yml index cb3ae9ae78..032f2e27f5 100644 --- a/.github/workflows/android-e2e-test.yml +++ b/.github/workflows/android-e2e-test.yml @@ -25,6 +25,11 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 + - name: Free Disk Space (Ubuntu) + uses: jlumbroso/free-disk-space@main + with: + tool-cache: true + android: false - name: Set up JDK 17 uses: actions/setup-java@v4 with: From 981585a16c0045cdf3315a29f8b7322597c6bfba Mon Sep 17 00:00:00 2001 From: alduzy Date: Wed, 19 Jun 2024 12:34:25 +0200 Subject: [PATCH 04/17] fix: remove added cache step --- .github/workflows/android-e2e-test.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/.github/workflows/android-e2e-test.yml b/.github/workflows/android-e2e-test.yml index 032f2e27f5..54d3234a17 100644 --- a/.github/workflows/android-e2e-test.yml +++ b/.github/workflows/android-e2e-test.yml @@ -62,14 +62,6 @@ jobs: 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: | - ~/.android/avd/* - ~/.android/adb* - key: avd-${{ env.API_LEVEL }} - name: Run emulator and tests uses: reactivecircus/android-emulator-runner@v2.30.1 with: From 8ff9958fe55cdc92d1aa7cd8c963cfd653cd710e Mon Sep 17 00:00:00 2001 From: alduzy Date: Wed, 19 Jun 2024 13:49:29 +0200 Subject: [PATCH 05/17] fix: emulator runner version --- .github/workflows/android-e2e-test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/android-e2e-test.yml b/.github/workflows/android-e2e-test.yml index 54d3234a17..c303ac3695 100644 --- a/.github/workflows/android-e2e-test.yml +++ b/.github/workflows/android-e2e-test.yml @@ -57,13 +57,13 @@ jobs: - name: Build app working-directory: ${{ env.WORKING_DIRECTORY }} run: yarn build-e2e-android - - name: Enable KVM group perms + - 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: Run emulator and tests - uses: reactivecircus/android-emulator-runner@v2.30.1 + uses: reactivecircus/android-emulator-runner@v2 with: working-directory: ${{ env.WORKING_DIRECTORY }} api-level: ${{ env.API_LEVEL }} From 05a9e44439627ef97d4193c32199b9e6c6908532 Mon Sep 17 00:00:00 2001 From: alduzy Date: Wed, 19 Jun 2024 14:14:10 +0200 Subject: [PATCH 06/17] changed api level --- .github/workflows/android-e2e-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/android-e2e-test.yml b/.github/workflows/android-e2e-test.yml index c303ac3695..7f2e907244 100644 --- a/.github/workflows/android-e2e-test.yml +++ b/.github/workflows/android-e2e-test.yml @@ -18,7 +18,7 @@ jobs: timeout-minutes: 60 env: WORKING_DIRECTORY: Example - API_LEVEL: 31 + API_LEVEL: 28 concurrency: group: android-e2e-${{ github.ref }} cancel-in-progress: true From 9807b8f8c931caf6d812f7b138aef7be4cc68c9d Mon Sep 17 00:00:00 2001 From: alduzy Date: Wed, 19 Jun 2024 14:30:14 +0200 Subject: [PATCH 07/17] feat: added worklfow caching --- .github/workflows/android-e2e-test.yml | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/.github/workflows/android-e2e-test.yml b/.github/workflows/android-e2e-test.yml index 7f2e907244..bb5840d04b 100644 --- a/.github/workflows/android-e2e-test.yml +++ b/.github/workflows/android-e2e-test.yml @@ -18,7 +18,7 @@ jobs: timeout-minutes: 60 env: WORKING_DIRECTORY: Example - API_LEVEL: 28 + API_LEVEL: 31 concurrency: group: android-e2e-${{ github.ref }} cancel-in-progress: true @@ -35,12 +35,24 @@ jobs: with: java-version: '17' distribution: 'zulu' - cache: 'gradle' + - name: Setup Gradle + uses: gradle/gradle-build-action@v3 - name: Use Node.js 18 uses: actions/setup-node@v4 with: node-version: 18 cache: 'yarn' + - name: Get yarn cache directory path + id: yarn-cache-dir-path + run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT + - name: Restore node_modules from cache + uses: actions/cache@v4 + id: yarn-cache + with: + path: ${{ steps.yarn-cache-dir-path.outputs.dir }} + key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} + restore-keys: | + ${{ runner.os }}-yarn- - name: Install root node dependencies run: yarn install && yarn submodules - name: Install shared app dependencies From da7c56d4d86e6074c81727013d4a46483bcc4d63 Mon Sep 17 00:00:00 2001 From: alduzy Date: Wed, 19 Jun 2024 14:34:33 +0200 Subject: [PATCH 08/17] fix: remove added yarn cache --- .github/workflows/android-e2e-test.yml | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/.github/workflows/android-e2e-test.yml b/.github/workflows/android-e2e-test.yml index bb5840d04b..66fcc2f361 100644 --- a/.github/workflows/android-e2e-test.yml +++ b/.github/workflows/android-e2e-test.yml @@ -42,17 +42,6 @@ jobs: with: node-version: 18 cache: 'yarn' - - name: Get yarn cache directory path - id: yarn-cache-dir-path - run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT - - name: Restore node_modules from cache - uses: actions/cache@v4 - id: yarn-cache - with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} - restore-keys: | - ${{ runner.os }}-yarn- - name: Install root node dependencies run: yarn install && yarn submodules - name: Install shared app dependencies From bdae6ea6d05aade1beb69c421a6296c9ae47632a Mon Sep 17 00:00:00 2001 From: alduzy Date: Wed, 19 Jun 2024 14:45:59 +0200 Subject: [PATCH 09/17] feat: revert gradle cache, changed tests target --- .github/workflows/android-e2e-test.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/android-e2e-test.yml b/.github/workflows/android-e2e-test.yml index 66fcc2f361..781a0ed376 100644 --- a/.github/workflows/android-e2e-test.yml +++ b/.github/workflows/android-e2e-test.yml @@ -35,8 +35,7 @@ jobs: with: java-version: '17' distribution: 'zulu' - - name: Setup Gradle - uses: gradle/gradle-build-action@v3 + cache: 'gradle' - name: Use Node.js 18 uses: actions/setup-node@v4 with: @@ -68,7 +67,7 @@ jobs: with: working-directory: ${{ env.WORKING_DIRECTORY }} api-level: ${{ env.API_LEVEL }} - target: aosp_atd + target: default profile: pixel_2 ram-size: '4096M' disk-size: '10G' From b891686677c2a8bd4c34c03cd77c095bc1b5e1b0 Mon Sep 17 00:00:00 2001 From: alduzy Date: Wed, 19 Jun 2024 15:12:48 +0200 Subject: [PATCH 10/17] fix: added Install AVD dependencies step --- .github/workflows/android-e2e-test.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/android-e2e-test.yml b/.github/workflows/android-e2e-test.yml index 781a0ed376..2eac6fa82d 100644 --- a/.github/workflows/android-e2e-test.yml +++ b/.github/workflows/android-e2e-test.yml @@ -54,6 +54,10 @@ jobs: name: Reinstall node dependencies working-directory: ${{ env.WORKING_DIRECTORY }} run: yarn + - name: Install AVD dependencies + run: | + sudo apt update + sudo apt-get install -y libpulse0 libgl1 - name: Build app working-directory: ${{ env.WORKING_DIRECTORY }} run: yarn build-e2e-android @@ -67,7 +71,7 @@ jobs: with: working-directory: ${{ env.WORKING_DIRECTORY }} api-level: ${{ env.API_LEVEL }} - target: default + target: aosp_atd profile: pixel_2 ram-size: '4096M' disk-size: '10G' From 74ef98adbb18fb9b6ebc13dd98d7a2e4e011dc6d Mon Sep 17 00:00:00 2001 From: alduzy Date: Wed, 19 Jun 2024 15:51:12 +0200 Subject: [PATCH 11/17] fix: changed target --- .github/workflows/android-e2e-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/android-e2e-test.yml b/.github/workflows/android-e2e-test.yml index 2eac6fa82d..077a52b51b 100644 --- a/.github/workflows/android-e2e-test.yml +++ b/.github/workflows/android-e2e-test.yml @@ -71,7 +71,7 @@ jobs: with: working-directory: ${{ env.WORKING_DIRECTORY }} api-level: ${{ env.API_LEVEL }} - target: aosp_atd + target: default profile: pixel_2 ram-size: '4096M' disk-size: '10G' From 7bb727d6706d62708ded332053fdc200272aba15 Mon Sep 17 00:00:00 2001 From: alduzy Date: Fri, 21 Jun 2024 11:57:15 +0200 Subject: [PATCH 12/17] removed extra AVD step --- .github/workflows/android-e2e-test.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/android-e2e-test.yml b/.github/workflows/android-e2e-test.yml index 077a52b51b..781a0ed376 100644 --- a/.github/workflows/android-e2e-test.yml +++ b/.github/workflows/android-e2e-test.yml @@ -54,10 +54,6 @@ jobs: name: Reinstall node dependencies working-directory: ${{ env.WORKING_DIRECTORY }} run: yarn - - name: Install AVD dependencies - run: | - sudo apt update - sudo apt-get install -y libpulse0 libgl1 - name: Build app working-directory: ${{ env.WORKING_DIRECTORY }} run: yarn build-e2e-android From 6d7bbd9d68c4026e05785041406dfaaf7d0ee2f0 Mon Sep 17 00:00:00 2001 From: alduzy Date: Fri, 21 Jun 2024 12:59:25 +0200 Subject: [PATCH 13/17] remove extra KVM step (try) --- .github/workflows/android-e2e-test.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.github/workflows/android-e2e-test.yml b/.github/workflows/android-e2e-test.yml index 781a0ed376..801d3b3e96 100644 --- a/.github/workflows/android-e2e-test.yml +++ b/.github/workflows/android-e2e-test.yml @@ -57,11 +57,6 @@ jobs: - name: Build app working-directory: ${{ env.WORKING_DIRECTORY }} run: yarn build-e2e-android - - 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: Run emulator and tests uses: reactivecircus/android-emulator-runner@v2 with: From 91f34333dd05bd74dfc2ea3f47942153c62853eb Mon Sep 17 00:00:00 2001 From: alduzy Date: Fri, 21 Jun 2024 13:17:43 +0200 Subject: [PATCH 14/17] fix: bring back KVM --- .github/workflows/android-e2e-test.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/android-e2e-test.yml b/.github/workflows/android-e2e-test.yml index 801d3b3e96..781a0ed376 100644 --- a/.github/workflows/android-e2e-test.yml +++ b/.github/workflows/android-e2e-test.yml @@ -57,6 +57,11 @@ jobs: - name: Build app working-directory: ${{ env.WORKING_DIRECTORY }} run: yarn build-e2e-android + - 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: Run emulator and tests uses: reactivecircus/android-emulator-runner@v2 with: From 8662f1f4760bab7c37c34b468fe7a9a8241a6f3b Mon Sep 17 00:00:00 2001 From: alduzy Date: Fri, 21 Jun 2024 13:18:01 +0200 Subject: [PATCH 15/17] chore: bump android api --- .github/workflows/android-e2e-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/android-e2e-test.yml b/.github/workflows/android-e2e-test.yml index 781a0ed376..f833b84086 100644 --- a/.github/workflows/android-e2e-test.yml +++ b/.github/workflows/android-e2e-test.yml @@ -18,7 +18,7 @@ jobs: timeout-minutes: 60 env: WORKING_DIRECTORY: Example - API_LEVEL: 31 + API_LEVEL: 34 concurrency: group: android-e2e-${{ github.ref }} cancel-in-progress: true From 8fb71a1b31b664e6751ffade0343ba660553f3f5 Mon Sep 17 00:00:00 2001 From: alduzy Date: Fri, 21 Jun 2024 13:25:35 +0200 Subject: [PATCH 16/17] feat: added AVD cache --- .github/workflows/android-e2e-test.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/android-e2e-test.yml b/.github/workflows/android-e2e-test.yml index f833b84086..fc01e46446 100644 --- a/.github/workflows/android-e2e-test.yml +++ b/.github/workflows/android-e2e-test.yml @@ -62,6 +62,14 @@ jobs: 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: | + ~/.android/avd/* + ~/.android/adb* + key: avd-${{ env.API_LEVEL }} - name: Run emulator and tests uses: reactivecircus/android-emulator-runner@v2 with: From f864103ce6dd74516c2b9368875aa0d816203858 Mon Sep 17 00:00:00 2001 From: alduzy Date: Fri, 21 Jun 2024 14:36:17 +0200 Subject: [PATCH 17/17] added install AVD dependencies step --- .github/workflows/android-e2e-test.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/android-e2e-test.yml b/.github/workflows/android-e2e-test.yml index fc01e46446..1fe46ed276 100644 --- a/.github/workflows/android-e2e-test.yml +++ b/.github/workflows/android-e2e-test.yml @@ -54,6 +54,10 @@ jobs: name: Reinstall node dependencies working-directory: ${{ env.WORKING_DIRECTORY }} run: yarn + - name: Install AVD dependencies + run: | + sudo apt update + sudo apt-get install -y libpulse0 libgl1 - name: Build app working-directory: ${{ env.WORKING_DIRECTORY }} run: yarn build-e2e-android