-
Notifications
You must be signed in to change notification settings - Fork 191
141 lines (110 loc) · 3.35 KB
/
ci.yml
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
name: CI
on:
push:
branches:
- develop
pull_request:
jobs:
floor-annotation:
runs-on: ubuntu-latest
timeout-minutes: 10
container:
image: dart:3.3.0
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Install dependencies
working-directory: floor_annotation
run: dart pub get
- name: Analyze
working-directory: floor_annotation
run: dart analyze --fatal-infos --fatal-warnings .
- name: Format
working-directory: floor_annotation
run: dart format --output=none --set-exit-if-changed .
floor-generator:
runs-on: ubuntu-latest
timeout-minutes: 10
container:
image: dart:3.3.0
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Install dependencies
working-directory: floor_generator
run: dart pub get
- name: Analyze
working-directory: floor_generator
run: dart analyze --fatal-infos --fatal-warnings .
- name: Format
working-directory: floor_generator
run: dart format --output=none --set-exit-if-changed .
- name: Run tests
working-directory: floor_generator
run: dart test --coverage --coverage-path coverage/lcov.info
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
flags: floor_generator
file: ./floor_generator/coverage/lcov.info
floor:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ macos-latest, windows-latest, ubuntu-latest ]
timeout-minutes: 10
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Install Flutter
uses: subosito/flutter-action@v2
with:
channel: stable
architecture: x64
- name: Install dependencies
run: flutter packages get
working-directory: floor
- name: Run generator
run: flutter packages pub run build_runner build --delete-conflicting-outputs
working-directory: floor_common
- name: Analyze
run: flutter analyze
working-directory: floor
- name: Install SQLite
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt-get -y update
sudo apt-get -y install sqlite3 libsqlite3-dev
- name: Run tests
run: flutter test --coverage --coverage-path coverage/lcov.info
working-directory: floor_common
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
flags: floor
file: ./floor_common/coverage/lcov.info
example:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Install Flutter
uses: subosito/flutter-action@v2
with:
channel: stable
- name: Install dependencies
run: flutter packages get
working-directory: example
- name: Analyze
run: flutter analyze
working-directory: example
- name: Install SQLite
run: |
sudo apt-get -y update
sudo apt-get -y install sqlite3 libsqlite3-dev
- name: Run tests
run: flutter test
working-directory: example