feat(auth): Swift Package Manager support #512
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-iOS | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
on: | |
pull_request: | |
paths-ignore: | |
- 'docs/**' | |
- 'website/**' | |
- '**/example/**' | |
- '!**/example/integration_test/**' | |
- '**/flutterfire_ui/**' | |
- '**.md' | |
push: | |
branches: | |
- main | |
paths-ignore: | |
- 'docs/**' | |
- 'website/**' | |
- '**/example/**' | |
- '!**/example/integration_test/**' | |
- '**/flutterfire_ui/**' | |
- '**.md' | |
jobs: | |
ios: | |
runs-on: macos-14 | |
timeout-minutes: 45 | |
strategy: | |
fail-fast: false | |
matrix: | |
working_directory: | |
['tests', 'packages/cloud_firestore/cloud_firestore/example'] | |
steps: | |
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 | |
- uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af | |
name: Install Node.js 20 | |
with: | |
node-version: '20' | |
- uses: actions/setup-java@6a0805fcefea3d4657a47ac4c165951e33482018 | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
- uses: hendrikmuhs/ccache-action@c92f40bee50034e84c763e33b317c77adaa81c92 | |
name: Xcode Compile Cache | |
with: | |
key: xcode-cache-${{ runner.os }} | |
max-size: 700M | |
- uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 | |
name: Pods Cache | |
id: pods-cache | |
with: | |
path: tests/ios/Pods | |
key: pods-v3-${{ runner.os }}-${{ hashFiles('tests/ios/Podfile.lock') }} | |
restore-keys: pods-v3-${{ runner.os }} | |
- 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@c7dcb921b23cc520cace360b95d02b37bf09cdaa | |
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: 'Free up space' | |
run: | | |
sudo rm -rf \ | |
/usr/local/share/.cache \ | |
/opt/microsoft/msedge \ | |
/opt/microsoft/powershell \ | |
/opt/pipx \ | |
/usr/lib/mono \ | |
/usr/local/julia* \ | |
/usr/local/lib/android \ | |
/usr/local/share/chromium \ | |
/usr/local/share/powershell \ | |
/usr/share/dotnet | |
df -h / | |
- name: 'Build Application' | |
working-directory: ${{ matrix.working_directory }} | |
run: | | |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH" | |
export CCACHE_SLOPPINESS=clang_index_store,file_stat_matches,include_file_ctime,include_file_mtime,ivfsoverlay,pch_defines,modules,system_headers,time_macros | |
export CCACHE_FILECLONE=true | |
export CCACHE_DEPEND=true | |
export CCACHE_INODECACHE=true | |
ccache -s | |
flutter build ios --no-codesign --simulator --debug --target=./integration_test/e2e_test.dart --dart-define=CI=true | |
ccache -s | |
- name: Start Firebase Emulator | |
run: sudo chown -R 501:20 "/Users/runner/.npm" && cd ./.github/workflows/scripts && ./start-firebase-emulator.sh | |
- uses: futureware-tech/simulator-action@48e51da14445b3eedca643bba4b78d9d8332ff31 | |
id: simulator | |
with: | |
# List of available simulators: https://github.com/actions/runner-images/blob/main/images/macos/macos-14-Readme.md#installed-simulators | |
model: "iPhone 15" | |
- name: 'E2E Tests' | |
working-directory: ${{ matrix.working_directory }} | |
env: | |
SIMULATOR: ${{ steps.simulator.outputs.udid }} | |
run: | | |
# Uncomment following line to have simulator logs printed out for debugging purposes. | |
# xcrun simctl spawn booted log stream --predicate 'eventMessage contains "flutter"' & | |
flutter test integration_test/e2e_test.dart -d "$SIMULATOR" --dart-define=CI=true |