fix: apply monkey patch before StatusBar
updates
#1031
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: 🛠 Android e2e tests | |
on: | |
pull_request: | |
paths: | |
- ".github/workflows/android-e2e-test.yml" | |
- "package.json" | |
- "android/**" | |
- "example/**" | |
- "e2e/**" | |
- "src/**" | |
push: | |
branches: | |
- main | |
paths: | |
- ".github/workflows/android-e2e-test.yml" | |
- "package.json" | |
- "android/**" | |
- "example/**" | |
- "e2e/**" | |
- "src/**" | |
jobs: | |
build: | |
name: 🏗️ Build E2E apk | |
runs-on: ubuntu-latest | |
env: | |
WORKING_DIRECTORY: example | |
concurrency: | |
group: android-e2e-${{ github.ref }} | |
cancel-in-progress: true | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Free Disk Space (Ubuntu) | |
uses: jlumbroso/free-disk-space@main | |
with: | |
# force to remove default tools | |
tool-cache: true | |
# preserve Android | |
android: false | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 18.x | |
cache: "yarn" | |
- name: Setup JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
distribution: "microsoft" | |
java-version: "17" | |
- 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 dependencies | |
run: yarn install | |
- name: Install example project dependencies | |
working-directory: ${{ env.WORKING_DIRECTORY }} | |
run: yarn | |
- name: Install e2e dependencies | |
run: yarn install --cwd e2e | |
- name: Restore Gradle cache | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/.gradle/caches | |
~/.gradle/wrapper | |
key: ${{ runner.os }}-e2e-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} | |
restore-keys: | | |
${{ runner.os }}-e2e-gradle- | |
- name: Build app | |
working-directory: e2e | |
run: yarn build-example:android | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: android-e2e-apk | |
path: example/android/app/build/outputs/apk/** | |
e2e-test: | |
name: ⚙️ Automated test cases | |
runs-on: ubuntu-latest | |
timeout-minutes: 60 | |
env: | |
WORKING_DIRECTORY: example | |
concurrency: | |
group: android-e2e-${{ matrix.devices.api }}-${{ github.ref }} | |
cancel-in-progress: true | |
strategy: | |
matrix: | |
devices: | |
[ | |
{ api: 28, target: default, soft-check: false }, | |
{ api: 31, target: google_apis, soft-check: true }, | |
] | |
needs: build | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Free Disk Space (Ubuntu) | |
uses: jlumbroso/free-disk-space@main | |
with: | |
# force to remove default tools | |
tool-cache: true | |
# preserve Android | |
android: false | |
- name: Download a single artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: android-e2e-apk | |
path: example/android/app/build/outputs/apk/ | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 18.x | |
cache: "yarn" | |
- name: Setup JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
distribution: "microsoft" | |
java-version: "17" | |
- 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 dependencies | |
run: yarn install | |
- name: Install e2e dependencies | |
run: yarn install --cwd e2e | |
- 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-${{ matrix.devices.api }}-${{ matrix.devices.target }} | |
- name: Run emulator and tests | |
uses: reactivecircus/[email protected] | |
with: | |
working-directory: e2e | |
api-level: ${{ matrix.devices.api }} | |
target: ${{ matrix.devices.target }} | |
profile: pixel_2 | |
ram-size: "4096M" | |
disk-size: "10G" | |
disable-animations: false | |
avd-name: e2e_emulator_${{ matrix.devices.api }} | |
arch: x86_64 | |
script: SOFT_CHECK=${{ matrix.devices.soft-check }} yarn test-example:android-${{ matrix.devices.api }} | |
- uses: actions/upload-artifact@v4 | |
if: ${{ failure() }} | |
with: | |
name: android-fail-screen-shoots | |
path: e2e/artifacts |