From 08c455cdcc8fc7f46539eab419a3531d5e381125 Mon Sep 17 00:00:00 2001 From: "n8n-cat-bot[bot]" <283985454+n8n-cat-bot[bot]@users.noreply.github.com> Date: Fri, 5 Jun 2026 11:48:49 +0000 Subject: [PATCH] ci: Add --pass-with-no-tests to the shard E2E run (#31820) Co-authored-by: n8n-cat-bot[bot] Co-authored-by: Claude Opus 4.7 --- .github/workflows/test-e2e-reusable.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test-e2e-reusable.yml b/.github/workflows/test-e2e-reusable.yml index 36efc460481..94d8dddcc76 100644 --- a/.github/workflows/test-e2e-reusable.yml +++ b/.github/workflows/test-e2e-reusable.yml @@ -123,8 +123,15 @@ jobs: - name: Run Tests run: | + # --pass-with-no-tests makes Playwright exit 0 when the selected specs + # resolve to zero runnable tests. Covers the impact-map vs current-suite + # skew window: a spec the committed coverage map points at may have been + # quarantined (test.skip/fixme) since the map was built, or a capability + # --grep on the test-command may filter every test on a shard. The + # selector is doing the right thing; the run shouldn't treat "nothing + # to run" as failure. # shellcheck disable=SC2086 - $TEST_COMMAND --workers="$WORKERS" $SHARD_ARGS + $TEST_COMMAND --workers="$WORKERS" $SHARD_ARGS --pass-with-no-tests env: # Protect args from template injections TEST_COMMAND: ${{ inputs.test-command }}