From 5bd3432f675b01f5fe378521a753dbc48cf116de Mon Sep 17 00:00:00 2001 From: Sam Mason de Caires Date: Tue, 27 Oct 2026 10:45:59 +0000 Subject: [PATCH 1/2] fix(ci): wait on 127.0.0.1 to avoid Node 24 ping failure in cypress action cypress-io/github-action v3 pings with got@11, which doesn't retry ERR_SOCKET_CLOSED_BEFORE_CONNECTION raised by Node >=24.20 (runner 2.338.0) when resolving localhost. Pinging the IPv4 address directly sidesteps it. See cypress-io/github-action#1873. Co-Authored-By: Claude Opus 5.5 --- .github/actions/cypress/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/cypress/action.yml b/.github/actions/cypress/action.yml index 5aa3600b6e..b1564e4aa2 100644 --- a/.github/actions/cypress/action.yml +++ b/.github/actions/cypress/action.yml @@ -58,7 +58,7 @@ runs: install: false record: false start: pnpm serve:static - wait-on: 'http://localhost:3000' + wait-on: 'http://127.0.0.1:3000' command: ${{ inputs.TEST_COMMAND }} env: CYPRESS_URL: 'http://localhost:3000' From ca87c5ebfe23bf0da8009ccce3cef21dea8dc4c7 Mon Sep 17 00:00:00 2001 From: Sam Mason de Caires Date: Tue, 27 Oct 2026 10:59:20 +0000 Subject: [PATCH 2/2] fix(ci): start server and run cypress without cypress-io/github-action The v3 action's wait-on ping errors immediately on Node >=24.20 (ERR_SOCKET_CLOSED_BEFORE_CONNECTION, cypress-io/github-action#1873), and v7 no longer supports a custom command for cypress-repeat. Start serve in the background, wait with curl retries, then run the tests. Co-Authored-By: Claude Opus 5.5 --- .github/actions/cypress/action.yml | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/.github/actions/cypress/action.yml b/.github/actions/cypress/action.yml index b1564e4aa2..c56fbce7a3 100644 --- a/.github/actions/cypress/action.yml +++ b/.github/actions/cypress/action.yml @@ -51,15 +51,19 @@ runs: name: out_cypress path: out + # Start the server and wait for it ourselves rather than via + # cypress-io/github-action: its v3 ping fails immediately on Node >=24.20 + # (cypress-io/github-action#1873), and v7 no longer accepts a custom + # `command` for cypress-repeat. + - name: start server + shell: bash + run: | + nohup pnpm serve:static > serve.log 2>&1 & + curl --silent --fail --output /dev/null --retry 60 --retry-delay 2 --retry-connrefused --retry-all-errors http://localhost:3000 || { cat serve.log; exit 1; } + - name: test - uses: cypress-io/github-action@16aacf8ea6a67e5e5d907d34bc3be8ad0e6e979f # v3.0.3 - with: - headless: true - install: false - record: false - start: pnpm serve:static - wait-on: 'http://127.0.0.1:3000' - command: ${{ inputs.TEST_COMMAND }} + shell: bash + run: ${{ inputs.TEST_COMMAND }} env: CYPRESS_URL: 'http://localhost:3000' CYPRESS_TENDERLY_ACCOUNT: ${{ inputs.CYPRESS_TENDERLY_ACCOUNT }}