feat(fdc): Add GMP header #78
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: e2e-android | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
on: | |
pull_request: | |
paths-ignore: | |
- 'docs/**' | |
- 'website/**' | |
- '**/example/**' | |
- '**/flutterfire_ui/**' | |
- '**.md' | |
push: | |
branches: | |
- main | |
paths-ignore: | |
- 'docs/**' | |
- 'website/**' | |
- '**/example/**' | |
- '**/flutterfire_ui/**' | |
- '**.md' | |
jobs: | |
android: | |
runs-on: ubuntu-latest | |
timeout-minutes: 45 | |
strategy: | |
fail-fast: false | |
matrix: | |
working_directory: | |
['tests', 'packages/cloud_firestore/cloud_firestore/example'] | |
steps: | |
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 | |
- uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b | |
name: Install Node.js 20 | |
with: | |
node-version: '20' | |
- uses: actions/setup-java@6a0805fcefea3d4657a47ac4c165951e33482018 | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
- name: Firebase Emulator Cache | |
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 | |
with: | |
path: ~/.cache/firebase/emulators | |
key: firebase-emulators-v3-${{ runner.os }} | |
restore-keys: firebase-emulators-v3 | |
- uses: subosito/flutter-action@44ac965b96f18d999802d4b807e3256d5a3f9fa1 | |
with: | |
channel: 'stable' | |
cache: true | |
cache-key: flutter-${{ runner.os }} | |
pub-cache-key: pub-${{ runner.os }} | |
- uses: bluefireteam/melos-action@7e70fbe34bbd91a75eb505eeb4174b0ac9a1df52 | |
with: | |
run-bootstrap: false | |
melos-version: '5.3.0' | |
- name: 'Bootstrap package' | |
run: melos bootstrap --scope tests && melos bootstrap --scope "cloud_firestore*" | |
- name: 'Install Tools' | |
run: | | |
sudo npm i -g firebase-tools | |
- name: Start Firebase Emulator | |
run: cd ./.github/workflows/scripts && ./start-firebase-emulator.sh | |
- 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: Gradle cache | |
uses: gradle/actions/setup-gradle@v4 | |
- name: AVD cache | |
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 | |
id: avd-cache | |
with: | |
path: | | |
~/.android/avd/* | |
~/.android/adb* | |
key: avd-${{ runner.os }} | |
- name: Start AVD then run E2E tests | |
uses: reactivecircus/android-emulator-runner@v2 | |
with: | |
api-level: 34 | |
target: google_apis | |
arch: x86_64 | |
working-directory: ${{ matrix.working_directory }} | |
script: | | |
flutter test integration_test/e2e_test.dart --dart-define=CI=true -d emulator-5554 | |
- name: Ensure Appium is shut down | |
# Required because of below issue where emulator failing to shut down properly causes tests to fail | |
# https://github.com/ReactiveCircus/android-emulator-runner/issues/385 | |
run: | | |
pgrep -f appium && pkill -f appium || echo "No Appium process found" |