-
Notifications
You must be signed in to change notification settings - Fork 132
198 lines (188 loc) · 5.54 KB
/
dart.yml
File metadata and controls
198 lines (188 loc) · 5.54 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
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
name: Dart CI
env:
PANA_SCORE_THRESHOLD: 40
on:
push:
branches:
- master
pull_request:
schedule:
- cron: '0 0 1 * *' # Monthly run on the first day of the month at 00:00 UTC
jobs:
#
# Dart packages: format and analyze
#
dart_analyze:
name: "Analyze"
runs-on: ubuntu-slim
strategy:
fail-fast: false
matrix:
package:
- cryptography
- cryptography_test
- jwk
sdk:
# The oldest supported Dart SDK at the moment.
# Feel free to bump it up whenever needed.
- 3.3.0
# We want to support the latest beta SDK as well.
- beta
steps:
- uses: dart-lang/setup-dart@v1
with:
sdk: ${{ matrix.sdk }}
- uses: actions/checkout@v3
- name: Get dependencies
run: dart pub get
working-directory: ./${{ matrix.package }}
- name: Verify that code is formatted
continue-on-error: true
run: dart format --set-exit-if-changed .
working-directory: "./${{ matrix.package }}"
- name: Analyze
run: dart analyze
working-directory: ./${{ matrix.package }}
#
# Dart packages: test
#
dart_test:
name: "Test"
needs: dart_analyze
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
package:
- cryptography
- cryptography_test
- jwk
compiler:
- vm
- dart2js
- dart2wasm
steps:
- uses: browser-actions/setup-chrome@v2
if: ${{ matrix.compiler != 'vm' }}
- uses: dart-lang/setup-dart@v1
with:
sdk: beta
- uses: actions/checkout@v3
- name: Get dependencies
run: dart pub get
working-directory: ./${{ matrix.package }}
- name: "Test: VM build"
if: ${{ matrix.compiler == 'vm' }}
run: dart test --platform vm
working-directory: ./${{ matrix.package }}
- name: "Test: JS build"
if: ${{ matrix.compiler == 'dart2js' }}
run: dart test --platform chrome --compiler dart2js
working-directory: ./${{ matrix.package }}
- name: "Test: WASM build"
if: ${{ matrix.compiler == 'dart2wasm' }}
run: dart test --platform chrome --compiler dart2wasm
working-directory: ./${{ matrix.package }}
#
# Dart packages: PANA score
#
dart_package_health:
name: "PANA"
needs: dart_analyze
runs-on: ubuntu-slim
strategy:
fail-fast: false
matrix:
package:
- cryptography
- jwk
steps:
- uses: dart-lang/setup-dart@v1
- uses: actions/checkout@v3
- name: Get dependencies
run: dart pub get
working-directory: ./${{ matrix.package }}
- name: Print outdated dependencies
continue-on-error: true
run: dart pub outdated
working-directory: ./${{ matrix.package }}
- name: Install package analyzer
run: dart pub global activate pana
- name: Run package analyzer
continue-on-error: true
run: dart pub global run pana --exit-code-threshold $PANA_SCORE_THRESHOLD .
working-directory: ./${{ matrix.package }}
#
# Flutter packages: format and analyze
#
flutter_analyze:
name: "Analyze"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
package:
- cryptography_flutter
- cryptography_flutter/example
- cryptography_flutter_integration_test
sdk:
# The oldest supported Dart SDK at the moment.
# Feel free to bump it up whenever needed.
- 3.35.0
# We want to support the latest beta SDK as well.
- beta
steps:
- name: Install Flutter
run: |
cd $HOME
git clone https://github.com/flutter/flutter.git --depth 1 -b ${{ matrix.sdk }} _flutter
echo "$HOME/_flutter/bin" >> $GITHUB_PATH
cd $GITHUB_WORKSPACE
- uses: actions/checkout@v3
- name: Get dependencies
run: flutter pub get
working-directory: ./${{ matrix.package }}
- name: Verify that code is formatted
continue-on-error: true
run: dart format --set-exit-if-changed .
working-directory: ./${{ matrix.package }}
- name: Analyze
run: flutter analyze
working-directory: ./${{ matrix.package }}
#
# Unfortunately we don't have Flutter integration tests in Github Actions yet. :(
#
#
# Flutter packages: PANA score
#
flutter_package_health:
name: "PANA"
needs: flutter_analyze
strategy:
fail-fast: false
matrix:
package:
- cryptography_flutter
runs-on: ubuntu-latest
steps:
- name: Install Flutter
run: |
cd $HOME
git clone https://github.com/flutter/flutter.git --depth 1 -b beta _flutter
echo "$HOME/_flutter/bin" >> $GITHUB_PATH
cd $GITHUB_WORKSPACE
- uses: actions/checkout@v3
- name: Get dependencies
run: flutter pub get
working-directory: ./${{ matrix.package }}
- name: Print outdated dependencies
continue-on-error: true
run: flutter pub outdated
working-directory: ./${{ matrix.package }}
- name: Install package analyzer
run: flutter pub global activate pana
working-directory: ./${{ matrix.package }}
- name: Run package analyzer
continue-on-error: true
run: flutter pub global run pana --exit-code-threshold $PANA_SCORE_THRESHOLD .
working-directory: ./${{ matrix.package }}