88 paths-ignore :
99 - ' logging/**'
1010 - ' flutter/**'
11+ - ' dio/**'
12+ - ' file/**'
1113
1214jobs :
1315 cancel-previous-workflow :
@@ -19,42 +21,93 @@ jobs:
1921 access_token : ${{ github.token }}
2022
2123 build :
22- name : Build ${{matrix.sdk }} on ${{matrix.os}}
24+ name : ${{ matrix.target }} | ${{ matrix.os }} | ${{ matrix.sdk }}
2325 runs-on : ${{ matrix.os }}
2426 timeout-minutes : 30
2527 defaults :
2628 run :
2729 shell : bash
28- working-directory : ./sqflite
2930 strategy :
3031 fail-fast : false
32+ # max-parallel: 4
3133 matrix :
3234 os : [ubuntu-latest, windows-latest, macos-latest]
33- sdk : [stable, beta]
35+ target : ['ios', 'android', 'web', 'macos', 'linux', 'windows']
36+ sdk : ['stable', 'beta']
3437 exclude :
38+ - os : ubuntu-latest
39+ target : ios
40+ - os : ubuntu-latest
41+ target : macos
42+ - os : ubuntu-latest
43+ target : windows
44+ - os : windows-latest
45+ target : ios
46+ - os : windows-latest
47+ target : macos
48+ - os : windows-latest
49+ target : linux
50+ # macos-latest is taking hours due to limited resources
51+ - os : macos-latest
52+ target : android
53+ - os : macos-latest
54+ target : web
55+ - os : macos-latest
56+ target : linux
57+ - os : macos-latest
58+ target : windows
59+ # Bad CPU type in executable
3560 - os : macos-latest
3661 sdk : beta
62+
3763 steps :
38- - uses : dart-lang/setup-dart@6a218f2413a3e78e9087f638a238f6b40893203d # pin@v1
39- with :
40- sdk : ${{ matrix.sdk }}
4164 - uses : actions/checkout@v3
42- # coverage with 'chrome' platform hangs the build
43- - name : Test (VM and browser)
65+
66+ - uses : actions/setup-java@v3
67+ with :
68+ distribution : ' adopt'
69+ java-version : ' 8'
70+
71+ # Install required dependencies for Flutter on Linux on Ubuntu
72+ - name : ' Setup Linux'
73+ run : |
74+ sudo apt update
75+ sudo apt install -y cmake dbus libblkid-dev libgtk-3-dev liblzma-dev ninja-build pkg-config xvfb
76+ sudo apt install -y network-manager upower
77+ if : matrix.os == 'ubuntu-latest'
78+
79+ - uses : subosito/flutter-action@dbf1fa04f4d2e52c33185153d06cdb5443aa189d # pin@v2
80+ with :
81+ channel : ${{ matrix.sdk }}
82+
83+ - run : flutter upgrade
84+
85+ - name : Pub Get
86+ run : |
87+ cd sqflite
88+ flutter pub get
89+
90+ - name : Test chrome
91+ if : runner.os == 'Linux'
92+ run : |
93+ cd sqflite
94+ flutter test --platform chrome --test-randomize-ordering-seed=random
95+
96+ - name : Test VM with coverage
97+ if : runner.os != 'macOS'
4498 run : |
45- dart pub get
46- dart test -p chrome --test-randomize-ordering-seed=random --chain-stack-traces
47- dart test -p vm --coverage=coverage --test-randomize-ordering-seed=random --chain-stack-traces
48- dart pub run coverage:format_coverage --lcov --in=coverage --out=coverage/lcov.info --packages=.dart_tool/package_config.json --report-on=lib
99+ cd sqflite
100+ sqflite test --coverage --test-randomize-ordering-seed=random
49101
50102 - uses : codecov/codecov-action@d9f34f8cd5cb3b3eb79b3e4b5dae3a16df499a70 # pin@v3
51- if : runner.os == 'Linux' && matrix.sdk == 'stable'
103+ if : runner.os == 'Linux' && matrix.sdk == 'stable' && matrix.target == 'linux'
52104 with :
53105 name : sentry_sqflite
54- files : ./sqflite/coverage/lcov.info
106+ file : ./sqflite/coverage/lcov.info
107+ functionalities : ' search' # remove after https://github.com/codecov/codecov-action/issues/600
55108
56109 -
uses :
VeryGoodOpenSource/very_good_coverage@84e5b54ab888644554e5573dca87d7f76dec9fb3 # [email protected] 57- if : runner.os == 'Linux' && matrix.sdk == 'stable'
110+ if : runner.os == 'Linux' && matrix.sdk == 'stable' && matrix.target == 'linux'
58111 with :
59112 path : ' ./sqflite/coverage/lcov.info'
60113 min_coverage : 90
63116 uses : ./.github/workflows/analyze.yml
64117 with :
65118 package : sqflite
119+ sdk : sqflite
0 commit comments