Skip to content

Integration tests

Integration tests #655

name: Integration tests
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * *"
env:
JAVA_VERSION: 17
FLUTTER_VERSION: 3.38.9
API_LEVEL: 30
TARGET: default
ARCH: x86_64
PROFILE: pixel_6
jobs:
mobile_integration_test:
name: Run integration tests
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- 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: Setup Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: ${{ env.FLUTTER_VERSION }}
channel: "stable"
cache: true
- name: Set up Java
uses: actions/setup-java@v4
with:
java-version: ${{ env.JAVA_VERSION }}
distribution: "temurin"
- name: Set up Gradle
uses: gradle/actions/setup-gradle@v3
- name: Run prebuild
run: ./scripts/prebuild.sh
- name: Run integration tests for mobile apps
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: ${{ env.API_LEVEL }}
target: ${{ env.TARGET }}
arch: ${{ env.ARCH }}
profile: ${{ env.PROFILE }}
force-avd-creation: true
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
disable-animations: true
emulator-boot-timeout: 1000
pre-emulator-launch-script: |
adb kill-server
adb start-server
script: ./scripts/patrol-integration-test-with-docker.sh