Skip to content

refactor: use custom setting in Core ML backend to detect NCHW input. #242

refactor: use custom setting in Core ML backend to detect NCHW input.

refactor: use custom setting in Core ML backend to detect NCHW input. #242

name: iOS Build & Test
on:
push:
branches: [ master, submission-v* ]
pull_request:
types: [ opened, synchronize, reopened ]
jobs:
build:
name: Build and test iOS app
# https://github.com/actions/runner-images/blob/main/images/macos/macos-12-Readme.md
runs-on: macos-13
timeout-minutes: 120
env:
PERF_TEST: true
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@v3
- name: Cache CocoaPods
uses: actions/cache@v4
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@v4
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
- uses: nick-fields/retry@v2
name: Run iOS integration tests
with:
timeout_minutes: 45
max_attempts: 2
command: |
open -a Simulator
make flutter/test/integration