Skip to content

Feat/freezed migration #48

Feat/freezed migration

Feat/freezed migration #48

Workflow file for this run

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
name: Integration test (desktop platforms)
jobs:
build:
# See: https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, macos-13, windows-latest ]
include:
- os: ubuntu-latest
build_command: flutter build linux --release --obfuscate --split-debug-info=symbols
test_command: flutter test && xvfb-run flutter test integration_test
artifact_dir: build/linux/x64/release/bundle
- os: macos-13
build_command: flutter build macos --release --obfuscate --split-debug-info=symbols
test_command: flutter test && flutter test integration_test
artifact_dir: build/macos/Build/Products/Release/*.app
- os: windows-latest
build_command: flutter build windows --release --obfuscate --split-debug-info=symbols
test_command: flutter test && flutter test integration_test
artifact_dir: build/windows/runner/Release
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- uses: subosito/[email protected]
with:
channel: stable
# Ninja and GTK are required for building on Linux
- name: Install dependencies
if: (matrix.os == 'ubuntu-latest')
run: |
sudo apt-get update -y
sudo apt-get install -y ninja-build libgtk-3-dev libblkid-dev
- name: Flutter doctor
run: flutter doctor -v
- name: Flutter pub get
run: flutter pub get && flutter pub get -C generator
- name: Flutter analyze
run: flutter analyze
# - name: Flutter build
# run: cd example && ${{ matrix.build_command }}
- name: Flutter integration test
run: cd example && ${{ matrix.test_command }}
# - uses: actions/upload-artifact@v3
# with:
# name: artifacts-${{ matrix.os }}
# path: |
# ${{ github.workspace }}/example/symbols
# ${{ github.workspace }}/example/${{ matrix.artifact_dir }}