Skip to content

Improve diagnostics for TypeScript AppHost test failures - #1607

Open
afscrome wants to merge 2 commits into
mainfrom
afscrome-ts-apphost-test-diagnostics
Open

afscrome wants to merge 2 commits into
mainfrom
afscrome-ts-apphost-test-diagnostics

Conversation

@afscrome

Copy link
Copy Markdown
Contributor

Why

TypeScript AppHost tests (Ollama, Meilisearch, Floci, Minio, etc.) have been a major source of CI noise on main — they account for roughly half of all main failures over the past two weeks, usually as an aspire wait timeout or a hang/exit-7. When they fail, the CI output gives almost no signal: just Command failed with exit code 17: aspire wait ollama --status healthy ..., with no resource state, no health-check failure reason, and no container logs. The CLI's own log files aren't even collected as artifacts.

This PR is diagnostics-only: it makes these failures debuggable from the CI run itself instead of requiring a live re-run, without changing wait timeouts or semantics.

Changes

  • .github/workflows/tests.yaml: resolve the Aspire CLI's actual log directory (next to the aspire executable, e.g. under the GitHub Actions tool cache) instead of assuming ~/.aspire/logs, which the existing "Upload TypeScript app host logs if failed" step never actually matched in CI.
  • eng/testing/validate-typescript-apphost.ps1: on an aspire wait failure, dump aspire describe and aspire logs (per waited-on resource, plus all resources) as GitHub Actions log groups before the original error propagates. The CLI's own error message is rethrown unmodified.

Explicitly out of scope

Per prior discussion, this PR does not change WaitTimeoutSeconds/wait status for any integration, and does not touch OllamaModelHealthCheck (a separate fix for the underlying 404-during-model-pull race is being handled elsewhere).

Co-authored-by: Copilot App 223556219+Copilot@users.noreply.github.com

On an aspire wait timeout, dump aspire describe/logs output as GitHub
Actions log groups before rethrowing the original CLI error, and fix
the CI artifact upload step to collect the Aspire CLI's actual log
directory instead of an incorrect ~/.aspire/logs assumption.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI lite review requested due to automatic review settings September 22, 2026 17:36
@github-actions

Copy link
Copy Markdown
Contributor

🚀 Dogfood this PR with:

⚠️ WARNING: Do not do this without first carefully reviewing the code of this PR to satisfy yourself it is safe.

curl -fsSL https://raw.githubusercontent.com/CommunityToolkit/Aspire/main/eng/scripts/dogfood-pr.sh | bash -s -- 1607

Or

  • Run remotely in PowerShell:
iex "& { $(irm https://raw.githubusercontent.com/CommunityToolkit/Aspire/main/eng/scripts/dogfood-pr.ps1) } 1607"

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

No unresolved blocking issues were identified.

Review effort: Lite
Findings: None

What changed in this PR

Improves CI diagnostics for TypeScript AppHost test failures without changing wait behavior or timeouts.

Changes:

  • Captures Aspire resource state and logs when aspire wait fails.
  • Locates and uploads Aspire CLI logs from the installed directory.
File Summary
eng/​testing/​validate-typescript-apphost.ps1 Adds grouped diagnostics on wait failures.
.github/​workflows/​tests.yaml Resolves and uploads Aspire CLI logs.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@afscrome
afscrome enabled auto-merge (squash) September 22, 2026 19:46

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants