@@ -123,6 +123,9 @@ jobs:
123123 needs : change-check
124124 if : needs.change-check.outputs.boxel == 'true' || needs.change-check.outputs.boxel-ui == 'true' || needs.change-check.outputs.matrix == 'true' || needs.change-check.outputs.realm-server == 'true' || needs.change-check.outputs.software-factory == 'true' || needs.change-check.outputs.vscode-boxel-tools == 'true' || needs.change-check.outputs.workspace-sync-cli == 'true' || github.ref == 'refs/heads/main' || needs.change-check.outputs.run_all == 'true'
125125 uses : ./.github/workflows/test-web-assets.yaml
126+ concurrency :
127+ group : ci-test-web-assets-${{ github.head_ref || github.run_id }}
128+ cancel-in-progress : true
126129
127130 ai-bot-test :
128131 name : AI bot Tests
@@ -329,38 +332,38 @@ jobs:
329332 run : pnpm test:group ${{ matrix.shardIndex }}/${{ matrix.shardTotal }}
330333 working-directory : packages/matrix
331334 - name : Print realm server logs
332- if : always()
335+ if : ${{ !cancelled() }}
333336 run : cat /tmp/server.log
334337 - name : Extract worker and prerender logs
335- if : always()
338+ if : ${{ !cancelled() }}
336339 run : |
337340 grep -E '^\[start:worker-base|^\[start:worker-development|^\[start:worker-test' /tmp/server.log > /tmp/worker-manager.log || true
338341 grep -E '^\[start:prerender-dev' /tmp/server.log > /tmp/prerender-server.log || true
339342 grep -E '^\[start:prerender-manager-dev' /tmp/server.log > /tmp/prerender-manager.log || true
340343 - name : Upload realm server log
341344 uses : actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # 4.6.1
342- if : always()
345+ if : ${{ !cancelled() }}
343346 with :
344347 name : matrix-test-realm-server-log-${{ matrix.shardIndex }}
345348 path : /tmp/server.log
346349 retention-days : 30
347350 - name : Upload worker manager log
348351 uses : actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # 4.6.1
349- if : always()
352+ if : ${{ !cancelled() }}
350353 with :
351354 name : matrix-test-worker-manager-log-${{ matrix.shardIndex }}
352355 path : /tmp/worker-manager.log
353356 retention-days : 30
354357 - name : Upload prerender server log
355358 uses : actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # 4.6.1
356- if : always()
359+ if : ${{ !cancelled() }}
357360 with :
358361 name : matrix-test-prerender-server-log-${{ matrix.shardIndex }}
359362 path : /tmp/prerender-server.log
360363 retention-days : 30
361364 - name : Upload prerender manager log
362365 uses : actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # 4.6.1
363- if : always()
366+ if : ${{ !cancelled() }}
364367 with :
365368 name : matrix-test-prerender-manager-log-${{ matrix.shardIndex }}
366369 path : /tmp/prerender-manager.log
@@ -388,9 +391,12 @@ jobs:
388391 needs :
389392 - change-check
390393 - matrix-client-test
391- # always () makes it run even if a matrix-client-test shard fails
392- if : always () && (needs.change-check.outputs.matrix == 'true' || github.ref == 'refs/heads/main' || needs.change-check.outputs.run_all == 'true')
394+ # !cancelled () makes it run even if a matrix-client-test shard fails, but still respects cancellation
395+ if : ${{ !cancelled () && (needs.change-check.outputs.matrix == 'true' || github.ref == 'refs/heads/main' || needs.change-check.outputs.run_all == 'true') }}
393396 runs-on : ubuntu-latest
397+ concurrency :
398+ group : matrix-client-merge-reports-${{ github.head_ref || github.run_id }}
399+ cancel-in-progress : true
394400
395401 permissions :
396402 id-token : write
@@ -585,16 +591,16 @@ jobs:
585591 env :
586592 TEST_MODULE : ${{matrix.testModule}}
587593 - name : Print realm server logs
588- if : always()
594+ if : ${{ !cancelled() }}
589595 run : cat /tmp/server.log
590596 - name : Prepare artifact name
591597 id : artifact_name
592- if : always()
598+ if : ${{ !cancelled() }}
593599 run : |
594600 export SAFE_ARTIFACT_NAME=$(echo ${{ matrix.testModule }} | sed 's/[/]/_/g')
595601 echo "artifact_name=$SAFE_ARTIFACT_NAME" >> "$GITHUB_OUTPUT"
596602 - name : Extract worker and prerender logs
597- if : always()
603+ if : ${{ !cancelled() }}
598604 run : |
599605 grep -E '^\[start:worker-development|^\[start:worker-test' /tmp/server.log > /tmp/worker-manager.log || true
600606 grep -E '^\[start:prerender-dev' /tmp/server.log > /tmp/prerender-server.log || true
@@ -603,42 +609,42 @@ jobs:
603609 grep -E '^\[start:test-realms|^\[start:worker-test' /tmp/server.log > /tmp/test-realms.log || true
604610 - name : Upload realm server log
605611 uses : actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # 4.6.1
606- if : always()
612+ if : ${{ !cancelled() }}
607613 with :
608614 name : realm-server-test-realm-server-log-${{steps.artifact_name.outputs.artifact_name}}
609615 path : /tmp/server.log
610616 retention-days : 30
611617 - name : Upload worker manager log
612618 uses : actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # 4.6.1
613- if : always()
619+ if : ${{ !cancelled() }}
614620 with :
615621 name : realm-server-test-worker-manager-log-${{steps.artifact_name.outputs.artifact_name}}
616622 path : /tmp/worker-manager.log
617623 retention-days : 30
618624 - name : Upload prerender server log
619625 uses : actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # 4.6.1
620- if : always()
626+ if : ${{ !cancelled() }}
621627 with :
622628 name : realm-server-test-prerender-server-log-${{steps.artifact_name.outputs.artifact_name}}
623629 path : /tmp/prerender-server.log
624630 retention-days : 30
625631 - name : Upload prerender manager log
626632 uses : actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # 4.6.1
627- if : always()
633+ if : ${{ !cancelled() }}
628634 with :
629635 name : realm-server-test-prerender-manager-log-${{steps.artifact_name.outputs.artifact_name}}
630636 path : /tmp/prerender-manager.log
631637 retention-days : 30
632638 - name : Upload start:development log
633639 uses : actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # 4.6.1
634- if : always()
640+ if : ${{ !cancelled() }}
635641 with :
636642 name : realm-server-test-start-development-log-${{steps.artifact_name.outputs.artifact_name}}
637643 path : /tmp/start-development.log
638644 retention-days : 30
639645 - name : Upload test-realms log
640646 uses : actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # 4.6.1
641- if : always()
647+ if : ${{ !cancelled() }}
642648 with :
643649 name : realm-server-test-test-realms-log-${{steps.artifact_name.outputs.artifact_name}}
644650 path : /tmp/test-realms.log
@@ -790,7 +796,7 @@ jobs:
790796 working-directory : packages/workspace-sync-cli
791797 - name : Upload test services log
792798 uses : actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # 4.6.1
793- if : always()
799+ if : ${{ !cancelled() }}
794800 with :
795801 name : workspace-sync-cli-test-services-log
796802 path : /tmp/test-services.log
0 commit comments