Skip to content

js-gatsby-staticsite2: drop the /using-ssr framework-test route - #4

Merged
Arshia001 merged 1 commit into
edgejsfrom
fix/gatsby-using-ssr-external-fetch
Jul 20, 2026
Merged

js-gatsby-staticsite2: drop the /using-ssr framework-test route#4
Arshia001 merged 1 commit into
edgejsfrom
fix/gatsby-using-ssr-external-fetch

Conversation

@Arshia001

Copy link
Copy Markdown
Member

/using-ssr's getServerData() fetches dog.ceo/api/breed/shiba/images/random. On GitHub runners that fetch hangs rather than failing fast, so the framework-test harness's 5s HTTP_REQUEST_TIMEOUT_MS expires before Gatsby returns anything and the whole job fails.

#108 tried to absorb this by accepting HTTP 500 alongside 200, but that only works when the fetch fails quickly enough for the catch block to render a 500 — a timed-out request never reaches a status assertion.

The route was already "stages": ["node"]-only, because EdgeJS stages serve Gatsby from static public/ output instead of running gatsby serve (which hard-requires the lmdb native addon). So it validated nothing about EdgeJS and only gated CI on a third-party service's availability. Removing it.

/using-dsg stays — also node-only, but served from build output with no external dependency.

This unblocks the edgejs nightly pipeline, which has been red on every push to main since 2026-06-30.

Test

make framework-test-quickjs-native FRAMEWORK_TEST_SELECTOR=js-gatsby-staticsite2 passes both stages with no regressions (3/3 routes on each).

🤖 Generated with Claude Code

The route's getServerData() fetches an external API
(dog.ceo/api/breed/shiba/images/random). In CI that fetch does not fail
fast, it hangs: the harness's 5s HTTP_REQUEST_TIMEOUT_MS expires before
Gatsby returns anything, so the request errors out and fails the whole
job. PR #108 tried to absorb this by accepting HTTP 500 alongside 200,
but that only helps when the fetch fails quickly enough for
getServerData()'s catch-block to run and render a response — it never
reaches a status assertion when the request times out.

The route was already node-only ("stages": ["node"]), because EdgeJS
stages serve Gatsby from the static public/ output rather than running
`gatsby serve` (which hard-requires the lmdb native addon). So the route
validated nothing about EdgeJS — it only gated CI on a third-party
service's availability from GitHub runners. Remove it.

/using-dsg stays: it is also node-only but is served from build output
with no external dependency.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant