-
-
Notifications
You must be signed in to change notification settings - Fork 46
161 lines (151 loc) · 4.05 KB
/
Copy pathtest.yml
File metadata and controls
161 lines (151 loc) · 4.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
name: Dart CI
on:
push:
branches:
- main
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
code-quality:
runs-on: ubuntu-latest
strategy:
matrix:
package:
- hive
- hive_ce_inspector
- hive_flutter
- hive_generator
flutter-channel:
- stable
- beta
defaults:
run:
working-directory: ${{ matrix.package }}
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
channel: ${{ matrix.flutter-channel }}
- run: |
dart pub get
dart format . --set-exit-if-changed
dart analyze --fatal-infos
test-hive:
runs-on: ubuntu-latest
strategy:
matrix:
include:
- test-platform: vm
compiler: kernel
- test-platform: chrome
compiler: dart2js
- test-platform: chrome
compiler: dart2wasm
defaults:
run:
working-directory: hive
steps:
- uses: actions/checkout@v4
- uses: browser-actions/setup-chrome@v1
if: ${{ matrix.test-platform == 'chrome' }}
- uses: dart-lang/setup-dart@v1
with:
sdk: 3.4.0
# These dev dependencies require a newer SDK, but are not needed for testing
- name: Remove rexios_lints
run: |
sed -i '/rexios_lints:/d' pubspec.yaml
sed -i '/build_runner:/d' pubspec.yaml
sed -i '/json_serializable:/d' pubspec.yaml
- name: Install dependencies
run: dart pub get --no-example
- name: Run tests
run: dart test -p ${{ matrix.test-platform }} -c ${{ matrix.compiler }}
test-hive_ce_inspector:
runs-on: ubuntu-latest
defaults:
run:
working-directory: hive_ce_inspector
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
- name: Install dependencies
run: flutter pub get
- name: Run tests
run: flutter test
test-hive_flutter:
runs-on: ubuntu-latest
strategy:
matrix:
flutter-channel: [stable, beta]
defaults:
run:
working-directory: hive_flutter
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
channel: ${{ matrix.flutter-channel }}
- name: Install dependencies
run: flutter pub get
- name: Run tests
run: flutter test
test-hive_generator:
strategy:
matrix:
include:
- flutter-channel: stable
os: ubuntu-latest
- flutter-channel: stable
# Test on windows since the generator directly accesses the file system
os: windows-latest
- flutter-channel: beta
os: ubuntu-latest
runs-on: ${{ matrix.os }}
defaults:
run:
working-directory: hive_generator
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
with:
channel: ${{ matrix.flutter-channel }}
- name: Install dependencies
run: dart pub get
- name: Run tests
run: dart test
ensure-codegen:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
# TODO: Figure out why puby gen needs to run twice
- run: |
dart pub global activate puby
puby link
puby gen
puby gen
dart format .
git diff --exit-code
ensure-embedme:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: |
npx embedme **/*.md
git diff --exit-code
check-score:
runs-on: ubuntu-latest
strategy:
matrix:
package: [hive, hive_flutter, hive_generator]
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
- run: |
cd ${{ matrix.package }}
flutter pub get
dart pub global activate pana
pana --no-warning --exit-code-threshold 0