Skip to content

ci: setup checks and tests workflows #30

ci: setup checks and tests workflows

ci: setup checks and tests workflows #30

Workflow file for this run

name: 🧪 Run Tests
on:
pull_request:
branches: [main]
jobs:
desktop-tests:
name: 🖥️ Desktop Tests (${{ matrix.os }} Latest)
strategy:
# This prevents one failure from stopping the entire run.
fail-fast: false
matrix:
os: [ubuntu, macos, windows]
runs-on: ${{ matrix.os }}-latest
timeout-minutes: 30
steps:
- name: 📥 Checkout Repository
uses: actions/checkout@v4
- name: 🛠️ Setup Flutter (Stable)
uses: subosito/flutter-action@v2
with:
channel: 'stable'
cache: true
- name: 📦 Install all package dependencies
run: dart ./scripts/pub_get.dart
- name: 📦 Install example dependencies
run: flutter pub get -C quill_native_bridge/example
- name: 🧩 Run Flutter unit tests
run: dart ./scripts/test.dart
timeout-minutes: 5
- name: 📦 Install Linux dependencies
if: runner.os == 'Linux'
run: |
sudo apt-get update -y
sudo apt-get install -y curl git unzip xz-utils zip libglu1-mesa
sudo apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev
# For more details: https://docs.flutter.dev/testing/integration-tests#test-on-a-desktop-platform
- name: 🧪 Run Flutter integration tests on Linux
if: runner.os == 'Linux'
uses: smithki/[email protected]
with:
run: flutter test integration_test -d linux -r github
working-directory: quill_native_bridge/example
- name: 🧪 Run Flutter integration tests on Non-Linux platforms
if: runner.os != 'Linux'
run: flutter test integration_test -d ${{ runner.os }}
working-directory: quill_native_bridge/example