lum_platform_image_converter/.github/workflows/integration_test.yaml

85 lines
2.7 KiB
YAML

name: Flutter Integration Tests
on:
push:
branches:
- main
pull_request:
jobs:
drive_android:
runs-on: ubuntu-latest
timeout-minutes: 15
permissions:
contents: read
strategy:
matrix:
api-level: [29, 35]
fail-fast: false
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: actions/setup-java@f2beeb24e141e01a676f977032f5a29d81c9e27e # v5.1.0
with:
distribution: "temurin"
java-version: "17"
- name: Enable KVM
run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm
- uses: subosito/flutter-action@fd55f4c5af5b953cc57a2be44cb082c8f6635e8e # v2.21.0
with:
channel: stable
cache: true
- uses: reactivecircus/android-emulator-runner@b530d96654c385303d652368551fb075bc2f0b6b # v2.35.0
with:
api-level: ${{ matrix.api-level }}
arch: x86_64
script: flutter test integration_test -d android
working-directory: example
drive_ios:
name: iOS
runs-on: macos-latest
timeout-minutes: 15
permissions:
contents: read
strategy:
matrix:
simulator: [{os: "18.6", model: "iPhone 16"}]
fail-fast: false
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: subosito/flutter-action@fd55f4c5af5b953cc57a2be44cb082c8f6635e8e # v2.21.0
with:
channel: stable
cache: true
- uses: futureware-tech/simulator-action@dab10d813144ef59b48d401cd95da151222ef8cd # v4
with:
wait_for_boot: true
os: iOS
os_version: ${{ matrix.simulator.os }}
model: ${{ matrix.simulator.model }}
- name: Pre-build the app
working-directory: example
run: flutter build ios --simulator --target=integration_test/app_test.dart
- name: Run flutter integration tests
working-directory: example
run: flutter test integration_test -d iphone
drive_macos:
name: macOS
runs-on: macos-latest
timeout-minutes: 15
permissions:
contents: read
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: subosito/flutter-action@fd55f4c5af5b953cc57a2be44cb082c8f6635e8e # v2.21.0
with:
channel: stable
cache: true
- name: Run Flutter Integration tests
working-directory: example
run: flutter test integration_test -d macos