4545 # Bridges global env variables to the jobs context so they are safely
4646 # accessible by downstream reusable workflows.
4747 setup-env :
48- name : Setup Global Variables
48+ name : " Setup: Global Variables"
4949 runs-on : ubuntu-latest
5050 outputs :
5151 test-archive-file : ${{ steps.set-env.outputs.test_archive_file }}
5858 # # --- Changelog check ------------------------------------------------------
5959 # - Checks for changelog updates (or the 'No Changelog' label on a PR
6060 # - Required to pass for all subsequent jobs
61- changelog- check :
62- name : Check Changelog
61+ check-changelog :
62+ name : " Check: Changelog"
6363 runs-on : ubuntu-latest
6464 permissions :
6565 contents : read
8585 # # --- Check Rust Formatting ------------------------------------------------
8686 # - Check for correct formatting
8787 # - Required to pass for all subsequent jobs
88- rustfmt :
89- name : Check Rust Formatting
90- needs : changelog-check
88+ check-rustfmt :
89+ name : " Check: Rust Formatting"
90+ needs :
91+ - check-changelog
9192 runs-on : ubuntu-latest
9293 steps :
9394 - name : Checkout the latest code
@@ -113,10 +114,10 @@ jobs:
113114 # - If this is true, 'is_signer_release' will also be true, since a 'stacks-signer' binary is always released alongside 'stacks-node'.
114115 # - is_signer_release: True if the branch represents a 'stacks-signer' release, false otherwise.
115116 check-release :
116- name : Check If Release
117+ name : " Check: Release"
117118 needs :
118- - rustfmt
119- - changelog- check
119+ - check-changelog
120+ - check-rustfmt
120121 if : >-
121122 !cancelled() &&
122123 github.event.repository.visibility == 'public' &&
@@ -144,38 +145,36 @@ jobs:
144145 BRANCH : ${{ github.ref_name }}
145146 run : bash ./.github/scripts/check_release.sh
146147
147- # # --- Manage (often create) reusable caches for tests ------------------------------------
148- manage -caches :
149- name : Manage Test Caches
148+ # # --- Setup reusable caches for tests ------------------------------------
149+ setup-test -caches :
150+ name : " Setup: Test Caches"
150151 needs :
151- - setup-env
152- - rustfmt
153- - changelog-check
152+ - check-changelog
154153 - check-release
154+ - check-rustfmt
155+ - setup-env
155156 if : >-
156157 !cancelled() &&
157- needs.rustfmt.result == 'success' &&
158158 (needs.check-release.outputs.is_node_release == 'true' ||
159159 needs.check-release.outputs.is_signer_release == 'true' ||
160160 github.event_name == 'workflow_dispatch' ||
161161 github.event_name == 'pull_request' ||
162162 github.event_name == 'merge_group')
163- uses : ./.github/workflows/manage -test-caches.yml
163+ uses : ./.github/workflows/setup -test-caches.yml
164164 with :
165165 archive-file : ${{ needs.setup-env.outputs.test-archive-file }}
166166
167167 # # --- Run stacks core tests ------------------------------------------------
168- stacks-core-tests :
169- name : Stacks Core Tests
168+ tests- stacks-core :
169+ name : " Tests: Stacks Core"
170170 needs :
171- - setup-env
172- - rustfmt
173- - changelog-check
174- - manage-caches
171+ - check-changelog
175172 - check-release
173+ - check-rustfmt
174+ - setup-test-caches
175+ - setup-env
176176 if : >-
177177 !cancelled() &&
178- needs.rustfmt.result == 'success' &&
179178 (needs.check-release.outputs.is_node_release == 'true' ||
180179 needs.check-release.outputs.is_signer_release == 'true' ||
181180 github.event_name == 'workflow_dispatch' ||
@@ -186,17 +185,16 @@ jobs:
186185 archive-file : ${{ needs.setup-env.outputs.test-archive-file }}
187186
188187 # # --- Run bitcoin Tests ----------------------------------------------------
189- bitcoin- tests :
190- name : Bitcoin Tests
188+ tests-bitcoin :
189+ name : " Tests: Bitcoin "
191190 needs :
192- - setup-env
193- - rustfmt
194- - changelog-check
195- - manage-caches
191+ - check-changelog
196192 - check-release
193+ - check-rustfmt
194+ - setup-caches
195+ - setup-env
197196 if : >-
198197 !cancelled() &&
199- needs.rustfmt.result == 'success' &&
200198 (needs.check-release.outputs.is_node_release == 'true' ||
201199 needs.check-release.outputs.is_signer_release == 'true' ||
202200 github.event_name == 'workflow_dispatch' ||
@@ -207,17 +205,17 @@ jobs:
207205 archive-file : ${{ needs.setup-env.outputs.test-archive-file }}
208206
209207 # # --- Run bitcoin RPC Tests ------------------------------------------------
210- bitcoin-rpc-tests :
211- name : Bitcoin RPC Tests
208+ tests: bitcoin-rpc :
209+ name : " Tests: Bitcoin RPC"
212210 needs :
213- - setup-env
214- - rustfmt
215- - changelog-check
216- - manage-caches
211+ - check-changelog
212+ - check-rustfmt
217213 - check-release
214+ - setup-caches
215+ - setup-env
216+
218217 if : >-
219218 !cancelled() &&
220- needs.rustfmt.result == 'success' &&
221219 (needs.check-release.outputs.is_node_release == 'true' ||
222220 needs.check-release.outputs.is_signer_release == 'true' ||
223221 github.event_name == 'workflow_dispatch' ||
@@ -228,17 +226,16 @@ jobs:
228226 archive-file : ${{ needs.setup-env.outputs.test-archive-file }}
229227
230228 # # --- Run P2P Tests --------------------------------------------------------
231- p2p- tests :
232- name : P2P Tests
229+ tests-p2p :
230+ name : " Tests: P2P "
233231 needs :
234- - setup-env
235- - rustfmt
236- - changelog-check
237- - manage-caches
232+ - check-changelog
233+ - check-rustfmt
238234 - check-release
235+ - setup-caches
236+ - setup-env
239237 if : >-
240238 !cancelled() &&
241- needs.rustfmt.result == 'success' &&
242239 (needs.check-release.outputs.is_node_release == 'true' ||
243240 needs.check-release.outputs.is_signer_release == 'true' ||
244241 github.event_name == 'workflow_dispatch' ||
@@ -255,30 +252,28 @@ jobs:
255252 # - PR added to merge queue
256253 #
257254 # # --- Cargo Hack check------------------------------------------------------
258- cargo-hack-check :
259- name : Cargo Hack Check
255+ check- cargo-hack :
256+ name : " Check: Cargo Hack"
260257 needs :
261- - rustfmt
262- - changelog-check
258+ - check-changelog
263259 - check-release
260+ - check-rustfmt
264261 if : >-
265262 !cancelled() &&
266- needs.rustfmt.result == 'success' &&
267263 (github.event_name == 'workflow_dispatch' ||
268264 github.event_name == 'pull_request' ||
269265 github.event_name == 'merge_group')
270266 uses : ./.github/workflows/check-cargo-hack.yml
271267
272268 # # --- Validate constants dumped by stacks-inspect --------------------------
273- constants- check :
274- name : Constants Check
269+ check-constants :
270+ name : " Check: Constants "
275271 needs :
276- - rustfmt
277- - changelog-check
272+ - check-changelog
278273 - check-release
274+ - check-rustfmt
279275 if : >-
280276 !cancelled() &&
281- needs.rustfmt.result == 'success' &&
282277 (github.event_name == 'workflow_dispatch' ||
283278 github.event_name == 'pull_request' ||
284279 github.event_name == 'merge_group')
@@ -293,18 +288,16 @@ jobs:
293288 # - Creates Docker images and pushes to ghcr registry
294289 # - Creates a draft github release
295290 create-release :
291+ name : " Create: Release"
292+ needs :
293+ - check-changelog
294+ - check-release
295+ - check-rustfmt
296296 if : >-
297297 !cancelled() &&
298298 github.event.repository.visibility == 'public' &&
299- needs.rustfmt.result == 'success' &&
300- needs.changelog-check.result == 'success' &&
301299 (needs.check-release.outputs.is_node_release == 'true' ||
302300 needs.check-release.outputs.is_signer_release == 'true')
303- name : Create Release
304- needs :
305- - rustfmt
306- - changelog-check
307- - check-release
308301 permissions :
309302 contents : write # required for github release
310303 id-token : write # required for attestation
@@ -317,17 +310,16 @@ jobs:
317310 is_node_release : ${{ needs.check-release.outputs.is_node_release }} # boolean used in matrix conditional in .github/workflows/release-github.yml
318311
319312 # # --- Epoch Tests ----------------------------------------------------------
320- epoch- tests :
321- name : Epoch Tests
313+ tests-epoch :
314+ name : " Tests: Epoch "
322315 needs :
323- - setup-env
324- - rustfmt
325- - changelog-check
326- - manage-caches
316+ - check-changelog
317+ - check-rustfmt
327318 - check-release
319+ - setup-caches
320+ - setup-env
328321 if : >-
329322 !cancelled() &&
330- needs.rustfmt.result == 'success' &&
331323 (needs.check-release.outputs.is_node_release == 'true' ||
332324 needs.check-release.outputs.is_signer_release == 'true')
333325 uses : ./.github/workflows/tests-epoch.yml
@@ -338,28 +330,27 @@ jobs:
338330 # #
339331 # # Runs when:
340332 # # - always (unless workflow is cancelled OR either blockchain or core tests are skipped)
341- trigger -code-coverage-report :
333+ create -code-coverage-report :
342334 if : >-
343335 always() &&
344336 !cancelled() &&
345337 !contains(needs.stacks-core-tests.result, 'skipped') &&
346338 !contains(needs.bitcoin-tests.result, 'skipped') &&
347339 github.event.repository.visibility == 'public'
348- name : Merge & Upload Code Coverage Report
340+ name : " Create: Code Coverage Report"
349341 runs-on : ubuntu-latest
350342 needs :
351- - stacks-core- tests
352- - bitcoin- tests
353- - p2p- tests
354- - epoch- tests
343+ - tests-bitcoin
344+ - tests-epoch
345+ - tests-p2p
346+ - tests-stacks-core
355347 env :
356348 REPORT_FILES_DIR : " code_coverage_files"
357349 REPORT_FILES_EXT : " info"
358350 REPORT_MERGE_NUM_THREADS : 4
359351 steps :
360352 # Checkout the code (Coveralls requires source code to be available when action is called)
361353 - name : Checkout the latest code
362- id : git_checkout
363354 uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
364355 # Download the code coverage .info files generated by tests from artifacts (prefixed by commit SHA)
365356 - name : Download code coverage artifacts
0 commit comments