Skip to content

Try run Android integration tests #85

Try run Android integration tests

Try run Android integration tests #85

Workflow file for this run

name: Tests
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
pull_request:
jobs:
pub_dev_check:
name: pub.dev check
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:skip') }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
channel: 'stable'
- name: Check Dart Format
run: |
if ! dart format --output=none --set-exit-if-changed .; then
echo "The code style of files above are incorrect."
echo "Make sure you follow the dart code style (https://github.com/dart-lang/dart_style)."
exit 1
fi
- uses: axel-op/dart-package-analyzer@v3
id: analysis
with:
githubToken: ${{ secrets.GITHUB_TOKEN }}
- name: Check scores
env:
TOTAL: ${{ steps.analysis.outputs.total }}
TOTAL_MAX: ${{ steps.analysis.outputs.total_max }}
run: |
if [ $TOTAL_MAX -ne $TOTAL ]; then
echo "Pub Score too low."
exit 1
fi
flutter_ut:
name: Flutter unit test
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:skip') }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
channel: 'stable'
- run: flutter test
android_smoke_build:
name: Smoke build for Android
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:skip') }}
strategy:
matrix:
version: ["3.x"]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install JDK
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
- uses: subosito/flutter-action@v2
with:
flutter-version: ${{ matrix.version }}
- run: flutter pub get
- name: Run flutter build apk
run: flutter build apk
working-directory: example
ios_smoke_build:
name: Smoke build for iOS
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:skip') }}
strategy:
matrix:
version: ["3.x"]
runs-on: macos-12
timeout-minutes: 120
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
with:
flutter-version: ${{ matrix.version }}
cache: true
- run: flutter pub get
- name: Run flutter build ios --no-codesign
run: flutter build ios --no-codesign
working-directory: example
integration_test_android:
name: Run Flutter Android Integration Tests
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ci:skip') }}
strategy:
matrix:
# version: ["3.0.0", "3.x"]
version: ["3.x"]
runs-on: macos-15
timeout-minutes: 120
steps:
- uses: actions/checkout@v3
- name: Install JDK
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '17'
- uses: subosito/flutter-action@v2
with:
flutter-version: ${{ matrix.version }}
# - name: Export the llvm path
# run: |
# # Export the llvm path
# # https://github.com/actions/runner-images/blob/main/images/macos/macos-12-Readme.md
# BREW_PREFIX=$(brew --prefix llvm@15)
# export PATH="${BREW_PREFIX}/bin:$PATH"
# which llvm-symbolizer
# - run: bash scripts/write_entitlements.sh
- name: run flutter android integration tests
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: 34
arch: arm64-v8a
# arch: x86_64
force-avd-creation: false
emulator-options: -no-snapshot-save -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
disable-animations: true
profile: pixel_5
ram-size: 2048M
heap-size: 4096M
disk-size: 8192M
script: bash scripts/glance_integration_test.sh