@@ -21,7 +21,7 @@ concurrency:
2121
2222jobs :
2323 build :
24- name : Build and Upload Artifact
24+ name : Build and Upload
2525 runs-on : ubuntu-latest
2626 steps :
2727 - name : Checkout repository
@@ -47,12 +47,17 @@ jobs:
4747 name : github-pages
4848 path : .
4949
50- tests :
51- name : Run Test Suites
50+ run- tests :
51+ name : Run Tests
5252 needs : build
5353 runs-on : ubuntu-latest
54- outputs :
55- status : ${{ steps.capture.outputs.status }}
54+ steps :
55+ - run : echo "Starting test jobs"
56+
57+ pollilib-tests :
58+ name : Run PolliLib Tests
59+ needs : run-tests
60+ runs-on : ubuntu-latest
5661 steps :
5762 - name : Checkout repository
5863 uses : actions/checkout@v4
@@ -62,23 +67,40 @@ jobs:
6267 with :
6368 node-version : ' 20'
6469
65- - name : Run tests
70+ - name : Run PolliLib Tests
71+ env :
72+ POLLI_REFERRER : unityailab.com
6673 run : |
67- npm test
74+ set -e
75+ for f in tests/pollilib-*.mjs; do
76+ echo "Running $f"
77+ node "$f"
78+ done
6879
69- - name : Capture test status
70- id : capture
71- run : |
72- cat tests/test-results.json
73- node -e "const fs=require('fs');const r=JSON.parse(fs.readFileSync('tests/test-results.json','utf8'));fs.appendFileSync(process.env.GITHUB_OUTPUT,`status=${r.status}\n`);"
80+ site-tests :
81+ name : Run Site Tests
82+ needs : run-tests
83+ runs-on : ubuntu-latest
84+ steps :
85+ - name : Checkout repository
86+ uses : actions/checkout@v4
87+
88+ - name : Setup Node
89+ uses : actions/setup-node@v4
90+ with :
91+ node-version : ' 20'
7492
75- - name : Report test summary
93+ - name : Run Site Tests
7694 run : |
77- node -e "const fs=require('fs');const r=JSON.parse(fs.readFileSync('tests/test-results.json','utf8'));console.log('# Test Summary');console.log('PolliLib',r.groups.pollilib.passed,'/',r.groups.pollilib.total);console.log('Site',r.groups.site.passed,'/',r.groups.site.total);console.log('Overall',r.passed,'/',r.total,'->',r.status);" >> $GITHUB_STEP_SUMMARY
95+ set -e
96+ for f in tests/site-*.mjs; do
97+ echo "Running $f"
98+ node "$f"
99+ done
78100
79101 report-build-status :
80102 name : Report Build Status
81- needs : [ build, tests]
103+ needs : build
82104 runs-on : ubuntu-latest
83105 if : always()
84106 steps :
@@ -112,8 +134,7 @@ jobs:
112134
113135 deploy :
114136 name : Deploy to Pages
115- needs : [build, tests]
116- if : needs.tests.outputs.status != 'fail'
137+ needs : build
117138 # Runs only on push to main, merge_group, or manual dispatch
118139 runs-on : ubuntu-latest
119140 environment :
0 commit comments