Skip to content

Commit

Permalink
Update ci.yml
Browse files Browse the repository at this point in the history
  • Loading branch information
natsuk4ze committed Aug 10, 2023
1 parent 6fcdeb7 commit 251822b
Showing 1 changed file with 118 additions and 107 deletions.
225 changes: 118 additions & 107 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,17 @@ jobs:
- uses: futureware-tech/simulator-action@v2
with:
model: iPhone 14 Pro Max

- name: Get simulator UUID
run: echo "SIMULATOR_UUID=$(xcrun simctl list devices available | grep 'iPhone 14 Pro Max' | awk -F '[()]' '{print $2}')" >> $GITHUB_ENV

- name: Build and Grant permission
timeout-minutes: 15
run: |
cd example
flutter build ios --simulator --no-codesign
cd ios
xcodebuild test -workspace Runner.xcworkspace -scheme Runner -destination "id=$SIMULATOR_UUID" -only-testing:RunnerUITests
- name: Build and Grant permission
timeout-minutes: 15
Expand Down Expand Up @@ -70,110 +81,110 @@ jobs:
flutter clean && flutter pub get
flutter test integration_test/integration_test.dart
android:
needs: ios
timeout-minutes: 60
runs-on: macos-latest
strategy:
matrix:
api-level: [31,30,29,28,27,26,25,24,23,22,21]
fail-fast: false
steps:
- name: Check out
uses: actions/checkout@v3

- name: Setup Flutter SDK
uses: subosito/flutter-action@v2
with:
channel: beta

- name: Install Flutter dependencies
run: flutter pub get ./example

- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: 11
distribution: temurin
cache: gradle
- name: AVD cache
uses: actions/cache@v3
id: avd-cache
with:
path: |
~/.android/avd/*
~/.android/adb*
key: avd-${{ matrix.api-level }}

- name: Create AVD and generate snapshot for caching
if: steps.avd-cache.outputs.cache-hit != 'true' && github.ref == 'refs/heads/main'
timeout-minutes: 10
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: ${{ matrix.api-level }}
arch: x86_64
emulator-boot-timeout: 300
force-avd-creation: false
sdcard-path-or-size: ${{ matrix.api-level < 29 && '10M' || null }}
emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none -camera-front none
script: echo "Generated AVD snapshot for caching."

- name: Run integration tests
id: Run-integration-tests
continue-on-error: true
timeout-minutes: 10
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: ${{ matrix.api-level }}
working-directory: ./example
arch: x86_64
emulator-boot-timeout: 120
force-avd-creation: false
sdcard-path-or-size: ${{ matrix.api-level < 29 && '10M' || null }}
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none -camera-front none
script: |
if [ ${{ matrix.api-level }} -le 29 ]; then flutter build apk --debug; adb install -r build/app/outputs/flutter-apk/app-debug.apk; adb shell pm grant studio.midoridesign.gal_example android.permission.WRITE_EXTERNAL_STORAGE; adb shell pm grant studio.midoridesign.gal_example android.permission.READ_EXTERNAL_STORAGE; fi
flutter test integration_test/integration_test.dart
- name: Retry integration tests
id: Retry-integration-tests
continue-on-error: true
timeout-minutes: 10
if: steps.Run-integration-tests.outcome == 'failure'
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: ${{ matrix.api-level }}
working-directory: ./example
arch: x86_64
emulator-boot-timeout: 120
force-avd-creation: false
sdcard-path-or-size: ${{ matrix.api-level < 29 && '10M' || null }}
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none -camera-front none
pre-emulator-launch-script: |
adb kill-server
adb start-server
script: |
flutter clean && flutter pub get
if [ ${{ matrix.api-level }} -le 29 ]; then flutter build apk --debug; adb install -r build/app/outputs/flutter-apk/app-debug.apk; adb shell pm grant studio.midoridesign.gal_example android.permission.WRITE_EXTERNAL_STORAGE; adb shell pm grant studio.midoridesign.gal_example android.permission.READ_EXTERNAL_STORAGE; fi
flutter test integration_test/integration_test.dart
- name: Re:Retry integration tests
if: steps.Retry-integration-tests.outcome == 'failure'
timeout-minutes: 10
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: ${{ matrix.api-level }}
working-directory: ./example
arch: x86_64
emulator-boot-timeout: 120
force-avd-creation: false
sdcard-path-or-size: ${{ matrix.api-level < 29 && '10M' || null }}
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none -camera-front none
pre-emulator-launch-script: |
adb kill-server
adb start-server
script: |
flutter clean && flutter pub get
if [ ${{ matrix.api-level }} -le 29 ]; then flutter build apk --debug; adb install -r build/app/outputs/flutter-apk/app-debug.apk; adb shell pm grant studio.midoridesign.gal_example android.permission.WRITE_EXTERNAL_STORAGE; adb shell pm grant studio.midoridesign.gal_example android.permission.READ_EXTERNAL_STORAGE; fi
flutter test integration_test/integration_test.dart
# android:
# needs: set-up
# timeout-minutes: 60
# runs-on: macos-latest
# strategy:
# matrix:
# api-level: [31,30,29,28,27,26,25,24,23,22,21]
# fail-fast: false
# steps:
# - name: Check out
# uses: actions/checkout@v3
#
# - name: Setup Flutter SDK
# uses: subosito/flutter-action@v2
# with:
# channel: beta
#
# - name: Install Flutter dependencies
# run: flutter pub get ./example
#
# - name: Set up JDK
# uses: actions/setup-java@v3
# with:
# java-version: 11
# distribution: temurin
# cache: gradle
#
# - name: AVD cache
# uses: actions/cache@v3
# id: avd-cache
# with:
# path: |
# ~/.android/avd/*
# ~/.android/adb*
# key: avd-${{ matrix.api-level }}
#
# - name: Create AVD and generate snapshot for caching
# if: steps.avd-cache.outputs.cache-hit != 'true' && github.ref == 'refs/heads/main'
# timeout-minutes: 10
# uses: reactivecircus/android-emulator-runner@v2
# with:
# api-level: ${{ matrix.api-level }}
# arch: x86_64
# emulator-boot-timeout: 300
# force-avd-creation: false
# sdcard-path-or-size: ${{ matrix.api-level < 29 && '10M' || null }}
# emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none -camera-front none
# script: echo "Generated AVD snapshot for caching."
#
# - name: Run integration tests
# id: Run-integration-tests
# continue-on-error: true
# timeout-minutes: 10
# uses: reactivecircus/android-emulator-runner@v2
# with:
# api-level: ${{ matrix.api-level }}
# working-directory: ./example
# arch: x86_64
# emulator-boot-timeout: 120
# force-avd-creation: false
# sdcard-path-or-size: ${{ matrix.api-level < 29 && '10M' || null }}
# emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none -camera-front none
# script: |
# if [ ${{ matrix.api-level }} -le 29 ]; then flutter build apk --debug; adb install -r build/app/outputs/flutter-apk/app-debug.apk; adb shell pm grant studio.midoridesign.gal_example android.permission.WRITE_EXTERNAL_STORAGE; adb shell pm grant studio.midoridesign.gal_example android.permission.READ_EXTERNAL_STORAGE; fi
# flutter test integration_test/integration_test.dart
#
# - name: Retry integration tests
# id: Retry-integration-tests
# continue-on-error: true
# timeout-minutes: 10
# if: steps.Run-integration-tests.outcome == 'failure'
# uses: reactivecircus/android-emulator-runner@v2
# with:
# api-level: ${{ matrix.api-level }}
# working-directory: ./example
# arch: x86_64
# emulator-boot-timeout: 120
# force-avd-creation: false
# sdcard-path-or-size: ${{ matrix.api-level < 29 && '10M' || null }}
# emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none -camera-front none
# pre-emulator-launch-script: |
# adb kill-server
# adb start-server
# script: |
# flutter clean && flutter pub get
# if [ ${{ matrix.api-level }} -le 29 ]; then flutter build apk --debug; adb install -r build/app/outputs/flutter-apk/app-debug.apk; adb shell pm grant studio.midoridesign.gal_example android.permission.WRITE_EXTERNAL_STORAGE; adb shell pm grant studio.midoridesign.gal_example android.permission.READ_EXTERNAL_STORAGE; fi
# flutter test integration_test/integration_test.dart
#
# - name: Re:Retry integration tests
# if: steps.Retry-integration-tests.outcome == 'failure'
# timeout-minutes: 10
# uses: reactivecircus/android-emulator-runner@v2
# with:
# api-level: ${{ matrix.api-level }}
# working-directory: ./example
# arch: x86_64
# emulator-boot-timeout: 120
# force-avd-creation: false
# sdcard-path-or-size: ${{ matrix.api-level < 29 && '10M' || null }}
# emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none -camera-front none
# pre-emulator-launch-script: |
# adb kill-server
# adb start-server
# script: |
# flutter clean && flutter pub get
# if [ ${{ matrix.api-level }} -le 29 ]; then flutter build apk --debug; adb install -r build/app/outputs/flutter-apk/app-debug.apk; adb shell pm grant studio.midoridesign.gal_example android.permission.WRITE_EXTERNAL_STORAGE; adb shell pm grant studio.midoridesign.gal_example android.permission.READ_EXTERNAL_STORAGE; fi
# flutter test integration_test/integration_test.dart

0 comments on commit 251822b

Please sign in to comment.