ci: e2e tests (#9)
This commit is contained in:
134
.github/workflows/my_plugin.yaml
vendored
134
.github/workflows/my_plugin.yaml
vendored
@@ -19,3 +19,137 @@ jobs:
|
||||
flutter_channel: stable
|
||||
flutter_version: 2.10.1
|
||||
working_directory: src/my_plugin
|
||||
|
||||
linux:
|
||||
runs-on: ubuntu-18.04
|
||||
|
||||
defaults:
|
||||
run:
|
||||
working-directory: src/my_plugin/example
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- uses: subosito/flutter-action@v2
|
||||
|
||||
- name: Install Dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y libgtk-3-dev libx11-dev pkg-config cmake ninja-build libblkid-dev liblzma-dev
|
||||
|
||||
- name: Enable desktop support
|
||||
run: flutter config --enable-linux-desktop
|
||||
|
||||
- name: Flutter Doctor
|
||||
run: flutter doctor -v
|
||||
|
||||
- name: Integration Tests
|
||||
run: xvfb-run flutter test integration_test -d linux
|
||||
|
||||
windows:
|
||||
runs-on: windows-2019
|
||||
|
||||
defaults:
|
||||
run:
|
||||
working-directory: src/my_plugin/example
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- uses: subosito/flutter-action@v2
|
||||
|
||||
- name: Enable desktop support
|
||||
run: flutter config --enable-windows-desktop
|
||||
|
||||
- name: Flutter Doctor
|
||||
run: flutter doctor -v
|
||||
|
||||
- name: Integration Tests
|
||||
run: flutter test integration_test -d windows
|
||||
|
||||
macos:
|
||||
runs-on: macos-10.15
|
||||
|
||||
defaults:
|
||||
run:
|
||||
working-directory: src/my_plugin/example
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- uses: subosito/flutter-action@v2
|
||||
|
||||
- name: Enable desktop support
|
||||
run: flutter config --enable-macos-desktop
|
||||
|
||||
- name: Flutter Doctor
|
||||
run: flutter doctor -v
|
||||
|
||||
- name: Integration Tests
|
||||
run: flutter test integration_test -d macos
|
||||
|
||||
ios:
|
||||
runs-on: macos-10.15
|
||||
|
||||
defaults:
|
||||
run:
|
||||
working-directory: src/my_plugin/example
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- uses: subosito/flutter-action@v2
|
||||
|
||||
- name: Flutter Doctor
|
||||
run: flutter doctor -v
|
||||
|
||||
- name: Start Simulator
|
||||
run: open -a Simulator.app
|
||||
|
||||
- name: Integration Tests
|
||||
run: flutter test integration_test -d iPhone
|
||||
|
||||
android:
|
||||
runs-on: macos-10.15
|
||||
|
||||
defaults:
|
||||
run:
|
||||
working-directory: src/my_plugin/example
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-java@v2
|
||||
with:
|
||||
distribution: "temurin"
|
||||
java-version: "11"
|
||||
|
||||
- uses: subosito/flutter-action@v2
|
||||
|
||||
- name: Flutter Doctor
|
||||
run: flutter doctor -v
|
||||
|
||||
- name: AVD Cache
|
||||
uses: actions/cache@v2
|
||||
id: avd-cache
|
||||
with:
|
||||
path: |
|
||||
~/.android/avd/*
|
||||
~/.android/adb*
|
||||
key: avd-29
|
||||
|
||||
- name: Cache AVD Snapshot
|
||||
if: steps.avd-cache.outputs.cache-hit != 'true'
|
||||
uses: reactivecircus/android-emulator-runner@v2
|
||||
with:
|
||||
api-level: 29
|
||||
force-avd-creation: false
|
||||
emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim -camera-back none
|
||||
disable-animations: false
|
||||
script: echo "Generated AVD snapshot for caching."
|
||||
|
||||
- name: Integration Tests
|
||||
uses: reactivecircus/android-emulator-runner@v2
|
||||
with:
|
||||
api-level: 29
|
||||
script: flutter test integration_test
|
||||
working-directory: src/my_plugin/example
|
||||
|
||||
Reference in New Issue
Block a user