1
- name : Dart CI
1
+ name : CI
2
2
3
3
on :
4
4
push :
@@ -19,22 +19,16 @@ permissions:
19
19
jobs :
20
20
# Run as a separate job outside the Dart SDK matrix below,
21
21
# since we can only emit a single SBOM.
22
- create-sbom-release-asset :
23
- name : Create SBOM Release Asset
24
- runs-on : ubuntu-latest
25
- steps :
26
- - uses : actions/checkout@v4
27
- - uses : dart-lang/setup-dart@v1
28
- with :
29
- sdk : 2.19.6 # This version doesn't matter so long as it resolves.
30
- - run : dart pub get
31
- - name : Publish SBOM to Release Assets
32
- uses : anchore/sbom-action@v0
33
- with :
34
- path : ./
35
- format : cyclonedx-json
36
-
37
22
build :
23
+ uses :
Workiva/gha-dart-oss/.github/workflows/[email protected]
24
+
25
+ checks :
26
+ uses :
Workiva/gha-dart-oss/.github/workflows/[email protected]
27
+ with :
28
+ additional-checks : |
29
+ no_entrypoint_imports
30
+
31
+ test_and_check_generated_files :
38
32
runs-on : ubuntu-latest
39
33
strategy :
40
34
fail-fast : false
62
56
./tool/update_tests_for_dart_3.sh
63
57
fi
64
58
65
- - name : Validate dependencies
66
- run : dart run dependency_validator
67
- if : always() && steps.install.outcome == 'success'
68
-
69
- - name : Verify formatting
70
- run : dart run dart_dev format --check
71
- # Only run on one sdk version in case there are conflicts
72
- if : always() && matrix.sdk == '2.19.6' && steps.install.outcome == 'success'
73
-
74
59
# Analyze before generated files are created to verify that component boilerplate analysis is "clean" without the need for building
75
60
- name : Analyze example source (pre-build)
76
61
run : |
@@ -234,3 +219,16 @@ jobs:
234
219
run : dart run dart_dev test
235
220
if : always() && steps.install.outcome == 'success'
236
221
timeout-minutes : 8
222
+
223
+ testing-and-checks-complete :
224
+ name : Testing and Checks Completed
225
+ needs : [ build, checks, test_and_check_generated_files, validate_analyzer, analyzer_plugin ]
226
+ if : ${{ !cancelled() && github.event_name == 'pull_request' || github.ref_type == 'tag' }}
227
+ runs-on : ubuntu-latest
228
+ steps :
229
+ - run : |
230
+ if [ "${{ needs.checks.result }}" == "failure" ]; then
231
+ echo "Some checks have failed. Please fix the issues and try again."
232
+ exit 1
233
+ fi
234
+ echo 'All Testing and checks have completed.'
0 commit comments