Skip to content

Fix: Loadgen null value extraction (#1110) #113

Fix: Loadgen null value extraction (#1110)

Fix: Loadgen null value extraction (#1110) #113

name: iOS Build & Test (macOS)
permissions:
contents: read
on:
push:
branches: [ master, submission-v* ]
pull_request:
types: [ opened, synchronize, reopened ]
merge_group:
types: [ checks_requested ]
jobs:
build:
name: Build and test iOS app
# https://github.com/actions/runner-images/blob/main/images/macos/macos-15-arm64-Readme.md
runs-on: macos-15
timeout-minutes: 180
env:
PERF_TEST: true
# Because iPhone simulator on GitHub Actions is not reliable, and caused a lot of test failures,
# we run only 1 benchmark to validate the build.
BENCHMARK_IDS: "image_classification_v2"
WITH_APPLE: 1
WITH_TFLITE: 1
WITH_PIXEL: 0
WITH_MEDIATEK: 0
WITH_QTI: 0
WITH_SAMSUNG: 0
FIREBASE_IOS_API_KEY: ${{ secrets.FIREBASE_IOS_API_KEY }}
FIREBASE_IOS_APP_ID: ${{ secrets.FIREBASE_IOS_APP_ID }}
FIREBASE_IOS_CLIENT_ID: ${{ secrets.FIREBASE_IOS_CLIENT_ID }}
FIREBASE_IOS_REVERSED_CLIENT_ID: ${{ secrets.FIREBASE_IOS_REVERSED_CLIENT_ID }}
FIREBASE_IOS_BUNDLE_ID: ${{ secrets.FIREBASE_IOS_BUNDLE_ID }}
FIREBASE_PROJECT_ID: ${{ secrets.FIREBASE_PROJECT_ID }}
FIREBASE_MESSAGING_SENDER_ID: ${{ secrets.FIREBASE_MESSAGING_SENDER_ID }}
FIREBASE_DATABASE_URL: ${{ secrets.FIREBASE_DATABASE_URL }}
FIREBASE_STORAGE_BUCKET: ${{ secrets.FIREBASE_STORAGE_BUCKET }}
FIREBASE_CI_USER_EMAIL: ${{ secrets.FIREBASE_CI_USER_EMAIL }}
FIREBASE_CI_USER_PASSWORD: ${{ secrets.FIREBASE_CI_USER_PASSWORD }}
FIREBASE_CRASHLYTICS_ENABLED: false
steps:
- name: Checkout
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
- name: Cache CocoaPods
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
with:
path: ${{ github.workspace }}/flutter/ios/Pods
key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }}
restore-keys: ${{ runner.os }}-pods-
- name: Cache bazel
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
with:
path: /tmp/bazel_cache
key: ${{ runner.os }}-bazel_cache-${{ hashFiles('**/BUILD', '**/WORKSPACE') }}
restore-keys: ${{ runner.os }}-bazel_cache-
- name: Build iOS app
env:
BAZEL_OUTPUT_ROOT_ARG: "--output_user_root=/tmp/bazel_output"
BAZEL_CACHE_ARG: "--disk_cache=/tmp/bazel_cache"
run: |
cd flutter/ios/ci_scripts/ && bash ci_post_clone.sh
- name: Run iOS unit tests
run: |
make flutter/test/unit
- name: Build iOS integration tests
run: |
cd flutter && flutter --no-version-check build ios --simulator integration_test/first_test.dart
- name: Setup iOS simulator
env:
DEVICE_NAME: "iPhone 16 Pro"
RUNTIME_SDK: "iphonesimulator18.5"
run: |
cd flutter/ios/ci_scripts/ && bash setup_simulator.sh
open -a Simulator
- uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3.0.2
name: Run iOS integration tests
with:
timeout_minutes: 120
max_attempts: 2
command: |
make flutter/test/integration