@@ -2,22 +2,31 @@ name: Dart CI
22
33on :
44 push :
5+ tags :
6+ # must align with the tag-pattern configured on pub.dev, often just replace
7+ # {{version}} with [0-9]+.[0-9]+.[0-9]+
8+ - ' v[0-9]+.[0-9]+.[0-9]+' # tag-pattern on pub.dev: 'v{{version}}'
59 branches :
610 - main
711 pull_request :
812
13+ env :
14+ MINIMUM_PANA_SCORE : 150
15+
916jobs :
1017 format :
18+ name : Verify code formatting
1119 runs-on : ubuntu-slim
1220 steps :
1321 - uses : actions/checkout@v3
1422 - uses : dart-lang/setup-dart@v1
15- - name : Print version
16- run : dart --version
23+ - name : Install dependencies
24+ run : dart --version && dart pub get
1725 - name : Verify formatting
1826 run : dart format --set-exit-if-changed .
19- analyze :
20- needs : format
27+ lints :
28+ name : Analyze source code
29+ needs : [format]
2130 runs-on : ubuntu-slim
2231 strategy :
2332 fail-fast : false
@@ -28,28 +37,41 @@ jobs:
2837 - uses : dart-lang/setup-dart@v1
2938 with :
3039 sdk : ${{ matrix.sdk }}
31- - name : Print version
32- run : dart --version
3340 - name : Install dependencies
34- run : dart pub get
41+ run : dart --version && dart pub get
3542 - name : Analyze project source
3643 run : dart analyze
44+ package_health :
45+ name : Analyze package health
46+ needs : [lints]
47+ runs-on : ubuntu-slim
48+ steps :
49+ - uses : actions/checkout@v3
50+ - uses : dart-lang/setup-dart@v1
51+ - name : Install dependencies
52+ run : dart --version && dart pub get && dart pub global activate pana
53+ - name : Run package analyzer
54+ run : dart pub global run pana --exit-code-threshold $MINIMUM_PANA_SCORE
3755 test :
38- needs : analyze
56+ name : Run tests
57+ needs : [lints]
3958 runs-on : ${{ matrix.os }}
4059 strategy :
4160 fail-fast : false
4261 matrix :
4362 os : [ubuntu-latest, windows-latest, macos-latest]
63+ sdk : [stable, dev]
4464 steps :
4565 - uses : actions/checkout@v3
4666 - uses : dart-lang/setup-dart@v1
67+ with :
68+ sdk : ${{ matrix.sdk }}
4769 - uses : browser-actions/setup-chrome@v2
48- - name : Print version
49- run : dart --version
5070 - name : Install dependencies
51- run : dart pub get
71+ run : dart --version && dart pub get
5272 - name : Run tests (VM)
5373 run : dart test --platform vm
54- - name : Run tests (Chrome)
55- run : dart test --platform chrome
74+ - name : Run tests (Chrome, JS)
75+ run : dart test --platform chrome --compiler dart2js
76+ - name : Run tests (Chrome, WASM)
77+ run : dart test --platform chrome --compiler dart2wasm
0 commit comments