@@ -12,16 +12,20 @@ jobs:
1212 runs-on : ubuntu-latest
1313
1414 outputs :
15- backendChanged : ${{ steps.detect.outputs.backendChanged }}
16- mobileChanged : ${{ steps.detect.outputs.mobileChanged }}
17- webChanged : ${{ steps.detect.outputs.webChanged }}
18- backendFiles : ${{ steps.detect.outputs.backendFiles }}
19- mobileFiles : ${{ steps.detect.outputs.mobileFiles }}
20- webFiles : ${{ steps.detect.outputs.webFiles }}
21- backendTests : ${{ steps.detect.outputs.backendTests }}
15+ backendChanged : ${{ steps.detect.outputs.backendChanged }}
16+ mobileChanged : ${{ steps.detect.outputs.mobileChanged }}
17+ webChanged : ${{ steps.detect.outputs.webChanged }}
18+ backendFiles : ${{ steps.detect.outputs.backendFiles }}
19+ mobileFiles : ${{ steps.detect.outputs.mobileFiles }}
20+ webFiles : ${{ steps.detect.outputs.webFiles }}
21+ backendTestFiles : ${{ steps.detect.outputs.backendTestFiles }}
22+ mobileTestFiles : ${{ steps.detect.outputs.mobileTestFiles }}
2223
2324 steps :
2425 - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
26+ with :
27+ ref : ${{ github.event.pull_request.head.sha }}
28+
2529
2630 - name : Detect changed files
2731 id : detect
@@ -37,13 +41,15 @@ jobs:
3741 if : needs.detect-changes.outputs.backendChanged == 'true'
3842 runs-on : ubuntu-latest
3943
40- outputs :
41- backend_lint : ${{ steps.backend_lint.outcome }}
42- backend_test : ${{ steps.backend_test.outcome }}
43- backend_typecheck : ${{ steps.backend_typecheck.outcome }}
44+ outputs :
45+ lint_result : ${{ steps.backend_lint.outcome }}
46+ test_result : ${{ steps.backend_test.outcome }}
47+ typecheck_result : ${{ steps.backend_typecheck.outcome }}
4448
4549 steps :
4650 - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
51+ with :
52+ ref : ${{ github.event.pull_request.head.sha }}
4753
4854 - uses : actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e
4955 with :
@@ -55,21 +61,25 @@ jobs:
5561
5662 - name : Backend lint
5763 id : backend_lint
58- continue-on-error : true
64+ continue-on-error : true
5965 run : cd apps/backend && pnpm eslint ${{ needs.detect-changes.outputs.backendFiles }}
6066
6167 - name : Backend test
6268 id : backend_test
69+ if : needs.detect-changes.outputs.backendTestFiles != ''
6370 continue-on-error : true
64- run : cd apps/backend && pnpm test ${{ needs.detect-changes.outputs.backendTests }}
71+ run : cd apps/backend && pnpm test --passWithNoTests ${{ needs.detect-changes.outputs.backendTestFiles }}
6572
6673 - name : Backend typecheck
6774 id : backend_typecheck
6875 continue-on-error : true
69- run : cd apps/backend && pnpm typecheck ${{ needs.detect-changes.outputs.backendFiles }}
76+ run : cd apps/backend && pnpm typecheck
7077
71- - name : Fail backend if checks failed
72- if : steps.backend_lint.outcome == 'failure' || steps.backend_test.outcome == 'failure' || steps.backend_typecheck.outcome == 'failure'
78+ - name : Fail job if any check failed
79+ if : >
80+ steps.backend_lint.outcome == 'failure' ||
81+ steps.backend_test.outcome == 'failure' ||
82+ steps.backend_typecheck.outcome == 'failure'
7383 run : exit 1
7484
7585 web-ci :
@@ -78,11 +88,13 @@ jobs:
7888 runs-on : ubuntu-latest
7989
8090 outputs :
81- web_check : ${{ steps.web_check.outcome }}
82- web_build : ${{ steps.web_build.outcome }}
91+ check_result : ${{ steps.web_check.outcome }}
92+ build_result : ${{ steps.web_build.outcome }}
8393
8494 steps :
8595 - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
96+ with :
97+ ref : ${{ github.event.pull_request.head.sha }}
8698
8799 - uses : actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e
88100 with :
@@ -102,8 +114,10 @@ jobs:
102114 continue-on-error : true
103115 run : cd apps/web && pnpm build
104116
105- - name : Fail web if checks failed
106- if : steps.web_check.outcome == 'failure' || steps.web_build.outcome == 'failure'
117+ - name : Fail job if any check failed
118+ if : >
119+ steps.web_check.outcome == 'failure' ||
120+ steps.web_build.outcome == 'failure'
107121 run : exit 1
108122
109123 mobile-ci :
@@ -112,11 +126,13 @@ jobs:
112126 runs-on : ubuntu-latest
113127
114128 outputs :
115- mobile_lint : ${{ steps.mobile_lint.outcome }}
116- mobile_test : ${{ steps.mobile_test.outcome }}
129+ lint_result : ${{ steps.mobile_lint.outcome }}
130+ test_result : ${{ steps.mobile_test.outcome }}
117131
118132 steps :
119133 - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
134+ with :
135+ ref : ${{ github.event.pull_request.head.sha }}
120136
121137 - uses : actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e
122138 with :
@@ -133,11 +149,14 @@ jobs:
133149
134150 - name : Mobile test
135151 id : mobile_test
152+ if : needs.detect-changes.outputs.mobileTestFiles != ''
136153 continue-on-error : true
137- run : cd apps/mobile && pnpm test
154+ run : cd apps/mobile && pnpm test --passWithNoTests ${{ needs.detect-changes.outputs.mobileTestFiles }}
138155
139- - name : Fail mobile if checks failed
140- if : steps.mobile_lint.outcome == 'failure' || steps.mobile_test.outcome == 'failure'
156+ - name : Fail job if any check failed
157+ if : >
158+ steps.mobile_lint.outcome == 'failure' ||
159+ steps.mobile_test.outcome == 'failure'
141160 run : exit 1
142161
143162 comment-results :
@@ -157,22 +176,17 @@ jobs:
157176 github-token : ${{ secrets.GITHUB_TOKEN }}
158177 script : |
159178 const script = require('./.github/scripts/commentResults.js');
160-
161179 await script({
162180 github,
163181 context,
164-
165- backend: '${{ needs.backend-ci.result }}',
166- web: '${{ needs.web-ci.result }}',
167- mobile: '${{ needs.mobile-ci.result }}',
168-
169- backendLint: '${{ needs.backend-ci.outputs.backend_lint }}',
170- backendTest: '${{ needs.backend-ci.outputs.backend_test }}',
171- backendTypecheck: '${{ needs.backend-ci.outputs.backend_typecheck }}',
172-
173- mobileLint: '${{ needs.mobile-ci.outputs.mobile_lint }}',
174- mobileTest: '${{ needs.mobile-ci.outputs.mobile_test }}',
175-
176- webCheck: '${{ needs.web-ci.outputs.web_check }}',
177- webBuild: '${{ needs.web-ci.outputs.web_build }}'
178- });
182+ backend: '${{ needs.backend-ci.result }}',
183+ web: '${{ needs.web-ci.result }}',
184+ mobile: '${{ needs.mobile-ci.result }}',
185+ backendLint: '${{ needs.backend-ci.outputs.lint_result }}',
186+ backendTest: '${{ needs.backend-ci.outputs.test_result }}',
187+ backendTypecheck: '${{ needs.backend-ci.outputs.typecheck_result }}',
188+ webCheck: '${{ needs.web-ci.outputs.check_result }}',
189+ webBuild: '${{ needs.web-ci.outputs.build_result }}',
190+ mobileLint: '${{ needs.mobile-ci.outputs.lint_result }}',
191+ mobileTest: '${{ needs.mobile-ci.outputs.test_result }}',
192+ });
0 commit comments