1+ name : package:physical
2+ permissions : read-all
3+
4+ on :
5+ push :
6+ branches : [ main, github-actions-test, 'test/*' ]
7+ pull_request :
8+ branches : [ main ]
9+
10+ jobs :
11+ analyze :
12+ runs-on : ubuntu-latest
13+ strategy :
14+ fail-fast : false
15+ matrix :
16+ sdk : [dev]
17+ steps :
18+ - uses : actions/checkout@v5
19+ - uses : dart-lang/setup-dart@v1
20+ with :
21+ sdk : ${{ matrix.sdk }}
22+ - name : Install dependencies
23+ run : dart pub get
24+ - name : Check formatting
25+ run : dart format --output=none --set-exit-if-changed .
26+ - name : Analyze code
27+ run : dart analyze --fatal-infos
28+
29+ examples :
30+ runs-on : ubuntu-latest
31+ strategy :
32+ fail-fast : false
33+ matrix :
34+ sdk : [stable]
35+ steps :
36+ - uses : actions/checkout@v5
37+ - uses : dart-lang/setup-dart@v1
38+ with :
39+ sdk : ${{ matrix.sdk }}
40+ - name : Install dependencies
41+ run : dart pub get
42+ - name : Run examples
43+ run : for f in example/*.dart; do dart run "$f"; done
44+
45+ test :
46+ needs : analyze
47+ runs-on : ubuntu-latest
48+ strategy :
49+ fail-fast : false
50+ matrix :
51+ sdk : [dev, '3.3']
52+ steps :
53+ - uses : actions/checkout@v5
54+ - uses : dart-lang/setup-dart@v1
55+ with :
56+ sdk : ${{ matrix.sdk }}
57+ - name : Install dependencies
58+ run : dart pub get
59+ - name : Run VM tests
60+ run : dart test
61+
62+ coverage :
63+ needs : test
64+ runs-on : ubuntu-latest
65+ steps :
66+ - uses : actions/checkout@v5
67+ - uses : dart-lang/setup-dart@v1
68+ with :
69+ sdk : dev
70+ - name : Install dependencies
71+ run : dart pub get
72+ - name : Install coverage
73+ run : dart pub global activate coverage
74+ - name : Collect and report coverage
75+ run : dart pub global run coverage:test_with_coverage
76+ - name : Upload coverage
77+ uses : coverallsapp/github-action@master
78+ with :
79+ github-token : ${{ secrets.GITHUB_TOKEN }}
80+ file : coverage/lcov.info
0 commit comments