11name : Dart CI
22
3- on : [push, pull_request]
3+ env :
4+ PANA_SCORE_THRESHOLD : 20
5+
6+ on :
7+ push :
8+ branches :
9+ - master
10+ pull_request :
411
512jobs :
6- test :
7- runs-on : ${{ matrix.os }}
13+ format :
14+ name : Formatting
15+ runs-on : ubuntu-slim
816 strategy :
17+ fail-fast : false
918 matrix :
10- os : [ubuntu-latest]
11- sdk : [stable, beta, dev]
19+ package :
20+ - cryptography
21+ - cryptography_test
22+ - jwk
1223 steps :
24+ - uses : dart-lang/setup-dart@v1
1325 - uses : actions/checkout@v3
26+ - name : Verify that code is formatted
27+ run : dart format --set-exit-if-changed .
28+ working-directory : " ./${{ matrix.package }}"
29+ test :
30+ name : Test
31+ needs : format
32+ runs-on : ubuntu-latest
33+ strategy :
34+ fail-fast : false
35+ matrix :
36+ package :
37+ - cryptography
38+ - jwk
39+ compiler :
40+ - vm
41+ - dart2js
42+ - dart2wasm
43+ sdk :
44+ # The oldest supported Dart SDK at the moment.
45+ # Feel free to bump it up whenever needed.
46+ - 3.6.0
47+ - beta
48+ steps :
49+ - uses : browser-actions/setup-chrome@v2
50+ if : matrix.compiler != vm
1451 - uses : dart-lang/setup-dart@v1
1552 with :
1653 sdk : ${{ matrix.sdk }}
17- - name : Run tests (cryptography)
18- run : dart test --platform vm
19- working-directory : ./cryptography
20- - name : Run tests (cryptography_test)
21- run : dart test --platform vm
22- working-directory : ./cryptography_test
23- - name : Run tests (jwk)
24- run : dart test --platform vm
25- working-directory : ./jwk
26- - name : Analyze (cryptography)
27- run : dart analyze
28- working-directory : ./cryptography
29- - name : Analyze (jwk)
54+ - uses : actions/checkout@v3
55+ - name : Get dependencies
56+ run : dart --version && dart pub get
57+ working-directory : ./${{ matrix.package }}
58+ - name : Analyze
3059 run : dart analyze
31- working-directory : ./jwk
60+ working-directory : ./${{ matrix.package }}
61+ - name : " Test: VM build"
62+ if : matrix.compiler == 'vm'
63+ run : dart test --platform vm
64+ working-directory : ./${{ matrix.package }}
65+ - name : " Test: JS build"
66+ if : matrix.compiler == 'dart2js'
67+ run : dart test --platform chrome --compiler dart2js
68+ working-directory : ./${{ matrix.package }}
69+ - name : " Test: WASM build"
70+ if : matrix.compiler == 'dart2wasm'
71+ run : dart test --platform chrome --compiler dart2wasm
72+ working-directory : ./${{ matrix.package }}
73+ package_health :
74+ name : Analyze package health
75+ needs : analyze
76+ runs-on : ubuntu-slim
77+ strategy :
78+ fail-fast : false
79+ matrix :
80+ package :
81+ - cryptography
82+ - jwk
83+ steps :
84+ - uses : actions/checkout@v3
85+ - uses : dart-lang/setup-dart@v1
86+ - name : Install dependencies
87+ run : dart --version && dart pub get && dart pub global activate pana
88+ - name : Run package analyzer
89+ run : dart pub global run pana --exit-code-threshold $PANA_SCORE_THRESHOLD
90+ working-directory : ./${{ matrix.package }}
0 commit comments