Skip to content

Capture Nuxt validation failure diagnostics and run Node 22 on PRs #21146

Open

Description

@radical

Is there an existing issue for this?

Yes. #20866 tracks recurring main failures; this separate issue scopes the diagnostics and PR-coverage work.

Describe the bug

The TypeScript validation workflow runs Node 24 on PRs but Node 22 and 24 on main. Since #16110 merged on October 9, the Node 22 Nuxt smoke test has repeatedly failed while Node 24 passes. All 59 TypeScript AppHost validations pass before the Nuxt test fails.

The underlying cause is not established because resource/install diagnostics are not printed before teardown, Docker builds use --quiet, and the script deletes its temporary workspace.

Expected Behavior

  • Run both Node 22 and 24 on PRs, matching main's matrix.
  • On Nuxt validation failure, collect useful resource/install and AppHost diagnostics before teardown, retain/upload relevant artifacts, and expose Docker build errors. Avoid exposing credentials or dashboard login tokens.
  • Use the resulting evidence to identify the compatibility fix; do not disable Node 22 or guess at dependency-version changes.

Steps To Reproduce

Run .github/workflows/polyglot-validation.yml with Node 22, including test-nuxt-integration.sh.

First affected main job: SSR passed, then generated web.Dockerfile failed at npm ci.

Latest failing Node 22 job: Nuxt web failed to start. Node 24 in the same run passed SSR and production-image validation.

Exceptions (if any)

AssertionError [ERR_ASSERTION]: web entered FailedToStart
    at .../playground/NuxtApp/verify.mjs:19:20

The earlier Docker-build failure and current startup failure are not proven to share a root cause.

Aspire doctor output

N/A — investigation used CI logs.

Anything else?

Relevant files: .github/workflows/polyglot-validation.yml, .github/workflows/polyglot-validation/test-nuxt-integration.sh, and playground/NuxtApp/verify.mjs. The current matrix expression is github.event_name == 'pull_request' && '[24]' || '[22,24]'.

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs-area-labelAn area label is needed to ensure this gets routed to the appropriate area owners

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions