This repository has been archived on 2023-09-08. You can view files and clone it, but cannot push or open issues or pull requests.
moxplatform/.github/workflows/my_plugin.yaml
2022-02-28 15:36:56 -06:00

182 lines
4.2 KiB
YAML

name: my_plugin
on:
pull_request:
paths:
- ".github/workflows/my_plugin.yaml"
- "src/my_plugin/**"
push:
branches:
- main
paths:
- ".github/workflows/my_plugin.yaml"
- "src/my_plugin/**"
jobs:
build:
uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/flutter_package.yml@v1
with:
flutter_channel: stable
flutter_version: 2.10.1
working_directory: src/my_plugin
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
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
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
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
web:
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: Run Chromedriver
run: |
git clone https://github.com/felangel/web_installers
cd web_installers/packages/web_drivers
dart pub get
dart lib/web_driver_installer.dart chromedriver --install-only
./chromedriver/chromedriver --port=4444 &
- name: Integration Tests
run: flutter drive --driver test_driver/integration_test.dart --target integration_test/app_test.dart -d web-server --browser-name=chrome
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