test: separate out e2e test workflows #1
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 | |
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-${{ github.run_id }} | |
restore-keys: firebase-emulators-v3 | |
- uses: subosito/flutter-action@44ac965b96f18d999802d4b807e3256d5a3f9fa1 | |
with: | |
channel: 'stable' | |
cache: true | |
- 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-ubuntu | |
- 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 |