Skip to content

Bump intl, device_info_plus, dependency_validator and test #1157

Bump intl, device_info_plus, dependency_validator and test

Bump intl, device_info_plus, dependency_validator and test #1157

name: Integration testing
on:
pull_request:
merge_group:
push:
branches: ["main"]
jobs:
android_integration_tests:
name: Run integration tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- name: Set up Java 21
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '21'
- uses: kuhnroyal/flutter-fvm-config-action/setup@v3
- name: Get Dependencies
run: flutter pub get
- name: Decode google-services.json
run: echo $GOOGLE_SERVICES_JSON | base64 --decode > android/app/google-services.json
env:
GOOGLE_SERVICES_JSON: ${{ secrets.GOOGLE_SERVICES_JSON_ANDROID_BASE64 }}
- name: Create .env file
run: |
echo "OLD_PASSWORD=CHANGE_ME_TO_A_STRONG_PASSWORD" > .env
- name: Generate env.g.dart
run: |
dart run build_runner clean
dart run build_runner build --delete-conflicting-outputs
- 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: Clean up emulator/app state
run: |
adb uninstall com.example.mosquito_alert_app || true
adb emu kill || true
# The timeout for a single step in Github Actions is 12 minutes
- name: Build debug appbundle (avoids test loader timeouts)
run: flutter build appbundle --debug
- name: Free up disk space that comes by default with the emulator
run: |
# Remove large unused packages
sudo apt-get remove -y --purge azure-cli google-chrome-stable firefox \
mongodb-* mysql-* postgresql-* dotnet-* '^llvm-.*' 2>/dev/null || true
sudo apt-get autoremove -y && sudo apt-get clean
# Remove Docker and development tools
sudo docker system prune -af 2>/dev/null || true
sudo apt-get remove -y --purge docker-* containerd.io 2>/dev/null || true
sudo rm -rf /usr/share/dotnet /usr/local/share/powershell 2>/dev/null || true
# Clean temporary files and logs
sudo journalctl --vacuum-size=10M 2>/dev/null || true
sudo rm -rf /var/log/* /tmp/* /var/tmp/* ~/.cache/* /var/cache/* 2>/dev/null || true
- name: Run integration tests
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: 35
target: google_apis
arch: x86_64
script: |
adb wait-for-device
adb shell 'while [[ -z $(getprop sys.boot_completed) ]]; do sleep 1; done;'
flutter test integration_test