Skip to content

Run integration tests #2

Run integration tests

Run integration tests #2

name: Run integration tests
on:
# Currently, the integration tests run more often and we don't need it at this stage.
workflow_dispatch: # Enables manual trigger
# push:
# branches: [main]
# paths:
# - '.github/workflows/tests.yml'
# - '**/lib/**'
# - '**/test/**'
# - '**/integration_test/**'
# - '**/pubspec.yaml'
# - '**/pubspec.lock'
# pull_request:
# paths:
# - '.github/workflows/tests.yml'
# - '**/lib/**'
# - '**/test/**'
# - '**/integration_test/**'
# - '**/pubspec.yaml'
# - '**/pubspec.lock'
jobs:
tests:
name: ${{ matrix.os }} Latest
strategy:
# This prevents one failure from stopping the entire run.
fail-fast: false
matrix:
os: [ubuntu, windows, macos]
runs-on: ${{ matrix.os }}-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v5
- uses: ./.github/actions/setup-flutter
# To skip installing CocoaPods, ruby and avoid any build failures or compatibility issues.
- name: Enable Flutter Swift Package Manager on macOS
run: flutter config --enable-swift-package-manager
if: runner.os == 'macOS'
- uses: ./.github/actions/install-flutter-linux-deps
# 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: dart ./scripts/run_tests.dart --integration -- -d linux -r github
- name: Run Flutter integration tests on Non-Linux platforms
if: runner.os != 'Linux'
run: dart ./scripts/run_tests.dart --integration -- -d ${{ runner.os }}