Skip to content

Refactor AppHost docs and add a localized site tour #1685

Refactor AppHost docs and add a localized site tour

Refactor AppHost docs and add a localized site tour #1685

Triggered via pull request April 6, 2026 12:39
Status Failure
Total duration 8m 55s
Artifacts 2

ci.yml

on: pull_request
changes
7s
changes
frontend-build  /  Frontend Build
8m 30s
frontend-build / Frontend Build
apphost-build  /  AppHost Build
apphost-build / AppHost Build
ci-gate
2s
ci-gate
Fit to window
Zoom out
Zoom in

Annotations

11 errors, 1 warning, and 1 notice
[desktop-chromium] › tests/e2e/wcag-aa.spec.ts:16:3 › WCAG AA audit passes for /get-started/aspire-vscode-extension/: src/frontend/tests/e2e/wcag-aa.spec.ts#L44
4) [desktop-chromium] › tests/e2e/wcag-aa.spec.ts:16:3 › WCAG AA audit passes for /get-started/aspire-vscode-extension/ Error: [ { "id": "heading-order", "impact": "moderate", "help": "Heading levels should only increase by one", "nodes": [ "#footer-preferences-heading" ] } ] expect(received).toEqual(expected) // deep equality - Expected - 1 + Received + 10 - Array [] + Array [ + Object { + "help": "Heading levels should only increase by one", + "id": "heading-order", + "impact": "moderate", + "nodes": Array [ + "#footer-preferences-heading", + ], + }, + ] 42 | violations, 43 | violations.length === 0 ? undefined : JSON.stringify(violations, null, 2) > 44 | ).toEqual([]); | ^ 45 | }); 46 | } 47 | at /home/runner/work/aspire.dev/aspire.dev/src/frontend/tests/e2e/wcag-aa.spec.ts:44:7
[desktop-chromium] › tests/e2e/wcag-aa.spec.ts:16:3 › WCAG AA audit passes for /get-started/install-cli/: src/frontend/tests/e2e/wcag-aa.spec.ts#L44
3) [desktop-chromium] › tests/e2e/wcag-aa.spec.ts:16:3 › WCAG AA audit passes for /get-started/install-cli/ Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: [ { "id": "heading-order", "impact": "moderate", "help": "Heading levels should only increase by one", "nodes": [ "#footer-preferences-heading" ] } ] expect(received).toEqual(expected) // deep equality - Expected - 1 + Received + 10 - Array [] + Array [ + Object { + "help": "Heading levels should only increase by one", + "id": "heading-order", + "impact": "moderate", + "nodes": Array [ + "#footer-preferences-heading", + ], + }, + ] 42 | violations, 43 | violations.length === 0 ? undefined : JSON.stringify(violations, null, 2) > 44 | ).toEqual([]); | ^ 45 | }); 46 | } 47 | at /home/runner/work/aspire.dev/aspire.dev/src/frontend/tests/e2e/wcag-aa.spec.ts:44:7
[desktop-chromium] › tests/e2e/wcag-aa.spec.ts:16:3 › WCAG AA audit passes for /get-started/install-cli/: src/frontend/tests/e2e/wcag-aa.spec.ts#L44
3) [desktop-chromium] › tests/e2e/wcag-aa.spec.ts:16:3 › WCAG AA audit passes for /get-started/install-cli/ Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: [ { "id": "heading-order", "impact": "moderate", "help": "Heading levels should only increase by one", "nodes": [ "#footer-preferences-heading" ] } ] expect(received).toEqual(expected) // deep equality - Expected - 1 + Received + 10 - Array [] + Array [ + Object { + "help": "Heading levels should only increase by one", + "id": "heading-order", + "impact": "moderate", + "nodes": Array [ + "#footer-preferences-heading", + ], + }, + ] 42 | violations, 43 | violations.length === 0 ? undefined : JSON.stringify(violations, null, 2) > 44 | ).toEqual([]); | ^ 45 | }); 46 | } 47 | at /home/runner/work/aspire.dev/aspire.dev/src/frontend/tests/e2e/wcag-aa.spec.ts:44:7
[desktop-chromium] › tests/e2e/wcag-aa.spec.ts:16:3 › WCAG AA audit passes for /get-started/install-cli/: src/frontend/tests/e2e/wcag-aa.spec.ts#L44
3) [desktop-chromium] › tests/e2e/wcag-aa.spec.ts:16:3 › WCAG AA audit passes for /get-started/install-cli/ Error: [ { "id": "heading-order", "impact": "moderate", "help": "Heading levels should only increase by one", "nodes": [ "#footer-preferences-heading" ] } ] expect(received).toEqual(expected) // deep equality - Expected - 1 + Received + 10 - Array [] + Array [ + Object { + "help": "Heading levels should only increase by one", + "id": "heading-order", + "impact": "moderate", + "nodes": Array [ + "#footer-preferences-heading", + ], + }, + ] 42 | violations, 43 | violations.length === 0 ? undefined : JSON.stringify(violations, null, 2) > 44 | ).toEqual([]); | ^ 45 | }); 46 | } 47 | at /home/runner/work/aspire.dev/aspire.dev/src/frontend/tests/e2e/wcag-aa.spec.ts:44:7
[desktop-chromium] › tests/e2e/wcag-aa.spec.ts:16:3 › WCAG AA audit passes for /: src/frontend/tests/e2e/wcag-aa.spec.ts#L44
2) [desktop-chromium] › tests/e2e/wcag-aa.spec.ts:16:3 › WCAG AA audit passes for / ────────────── Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: [ { "id": "heading-order", "impact": "moderate", "help": "Heading levels should only increase by one", "nodes": [ "#footer-preferences-heading" ] } ] expect(received).toEqual(expected) // deep equality - Expected - 1 + Received + 10 - Array [] + Array [ + Object { + "help": "Heading levels should only increase by one", + "id": "heading-order", + "impact": "moderate", + "nodes": Array [ + "#footer-preferences-heading", + ], + }, + ] 42 | violations, 43 | violations.length === 0 ? undefined : JSON.stringify(violations, null, 2) > 44 | ).toEqual([]); | ^ 45 | }); 46 | } 47 | at /home/runner/work/aspire.dev/aspire.dev/src/frontend/tests/e2e/wcag-aa.spec.ts:44:7
[desktop-chromium] › tests/e2e/wcag-aa.spec.ts:16:3 › WCAG AA audit passes for /: src/frontend/tests/e2e/wcag-aa.spec.ts#L44
2) [desktop-chromium] › tests/e2e/wcag-aa.spec.ts:16:3 › WCAG AA audit passes for / ────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: [ { "id": "heading-order", "impact": "moderate", "help": "Heading levels should only increase by one", "nodes": [ "#footer-preferences-heading" ] } ] expect(received).toEqual(expected) // deep equality - Expected - 1 + Received + 10 - Array [] + Array [ + Object { + "help": "Heading levels should only increase by one", + "id": "heading-order", + "impact": "moderate", + "nodes": Array [ + "#footer-preferences-heading", + ], + }, + ] 42 | violations, 43 | violations.length === 0 ? undefined : JSON.stringify(violations, null, 2) > 44 | ).toEqual([]); | ^ 45 | }); 46 | } 47 | at /home/runner/work/aspire.dev/aspire.dev/src/frontend/tests/e2e/wcag-aa.spec.ts:44:7
[desktop-chromium] › tests/e2e/wcag-aa.spec.ts:16:3 › WCAG AA audit passes for /: src/frontend/tests/e2e/wcag-aa.spec.ts#L44
2) [desktop-chromium] › tests/e2e/wcag-aa.spec.ts:16:3 › WCAG AA audit passes for / ────────────── Error: [ { "id": "heading-order", "impact": "moderate", "help": "Heading levels should only increase by one", "nodes": [ "#footer-preferences-heading" ] } ] expect(received).toEqual(expected) // deep equality - Expected - 1 + Received + 10 - Array [] + Array [ + Object { + "help": "Heading levels should only increase by one", + "id": "heading-order", + "impact": "moderate", + "nodes": Array [ + "#footer-preferences-heading", + ], + }, + ] 42 | violations, 43 | violations.length === 0 ? undefined : JSON.stringify(violations, null, 2) > 44 | ).toEqual([]); | ^ 45 | }); 46 | } 47 | at /home/runner/work/aspire.dev/aspire.dev/src/frontend/tests/e2e/wcag-aa.spec.ts:44:7
[desktop-chromium] › tests/e2e/pivot-selector.spec.ts:4:1 › prerequisites pivot selection updates the apphost query string and visible content: src/frontend/tests/e2e/pivot-selector.spec.ts#L18
1) [desktop-chromium] › tests/e2e/pivot-selector.spec.ts:4:1 › prerequisites pivot selection updates the apphost query string and visible content Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toHaveClass(expected) failed Locator: locator('#pivot-selector-apphost').getByRole('button', { name: 'C#' }) Expected pattern: /active/ Timeout: 5000ms Error: element(s) not found Call log: - Expect "toHaveClass" with timeout 5000ms - waiting for locator('#pivot-selector-apphost').getByRole('button', { name: 'C#' }) 16 | const typeScriptContent = page.getByRole('link', { name: 'Node.js installation instructions' }); 17 | > 18 | await expect(csharpButton).toHaveClass(/active/); | ^ 19 | await expect(csharpContent).toBeVisible(); 20 | 21 | await typeScriptButton.click(); at /home/runner/work/aspire.dev/aspire.dev/src/frontend/tests/e2e/pivot-selector.spec.ts:18:30
[desktop-chromium] › tests/e2e/pivot-selector.spec.ts:4:1 › prerequisites pivot selection updates the apphost query string and visible content: src/frontend/tests/e2e/pivot-selector.spec.ts#L18
1) [desktop-chromium] › tests/e2e/pivot-selector.spec.ts:4:1 › prerequisites pivot selection updates the apphost query string and visible content Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toHaveClass(expected) failed Locator: locator('#pivot-selector-apphost').getByRole('button', { name: 'C#' }) Expected pattern: /active/ Timeout: 5000ms Error: element(s) not found Call log: - Expect "toHaveClass" with timeout 5000ms - waiting for locator('#pivot-selector-apphost').getByRole('button', { name: 'C#' }) 16 | const typeScriptContent = page.getByRole('link', { name: 'Node.js installation instructions' }); 17 | > 18 | await expect(csharpButton).toHaveClass(/active/); | ^ 19 | await expect(csharpContent).toBeVisible(); 20 | 21 | await typeScriptButton.click(); at /home/runner/work/aspire.dev/aspire.dev/src/frontend/tests/e2e/pivot-selector.spec.ts:18:30
[desktop-chromium] › tests/e2e/pivot-selector.spec.ts:4:1 › prerequisites pivot selection updates the apphost query string and visible content: src/frontend/tests/e2e/pivot-selector.spec.ts#L18
1) [desktop-chromium] › tests/e2e/pivot-selector.spec.ts:4:1 › prerequisites pivot selection updates the apphost query string and visible content Error: expect(locator).toHaveClass(expected) failed Locator: locator('#pivot-selector-apphost').getByRole('button', { name: 'C#' }) Expected pattern: /active/ Timeout: 5000ms Error: element(s) not found Call log: - Expect "toHaveClass" with timeout 5000ms - waiting for locator('#pivot-selector-apphost').getByRole('button', { name: 'C#' }) 16 | const typeScriptContent = page.getByRole('link', { name: 'Node.js installation instructions' }); 17 | > 18 | await expect(csharpButton).toHaveClass(/active/); | ^ 19 | await expect(csharpContent).toBeVisible(); 20 | 21 | await typeScriptButton.click(); at /home/runner/work/aspire.dev/aspire.dev/src/frontend/tests/e2e/pivot-selector.spec.ts:18:30
ci-gate
Process completed with exit code 1.
frontend-build / Frontend Build
No files were found with the provided path: src/frontend/dist. No artifacts will be uploaded.
🎭 Playwright Run Summary
15 failed [desktop-chromium] › tests/e2e/pivot-selector.spec.ts:4:1 › prerequisites pivot selection updates the apphost query string and visible content [desktop-chromium] › tests/e2e/wcag-aa.spec.ts:16:3 › WCAG AA audit passes for / ─────────────── [desktop-chromium] › tests/e2e/wcag-aa.spec.ts:16:3 › WCAG AA audit passes for /get-started/install-cli/ [desktop-chromium] › tests/e2e/wcag-aa.spec.ts:16:3 › WCAG AA audit passes for /get-started/aspire-vscode-extension/ [desktop-chromium] › tests/e2e/wcag-aa.spec.ts:16:3 › WCAG AA audit passes for /reference/api/csharp/ [tablet-chromium] › tests/e2e/pivot-selector.spec.ts:4:1 › prerequisites pivot selection updates the apphost query string and visible content [tablet-chromium] › tests/e2e/wcag-aa.spec.ts:16:3 › WCAG AA audit passes for / ──────────────── [tablet-chromium] › tests/e2e/wcag-aa.spec.ts:16:3 › WCAG AA audit passes for /get-started/install-cli/ [tablet-chromium] › tests/e2e/wcag-aa.spec.ts:16:3 › WCAG AA audit passes for /get-started/aspire-vscode-extension/ [tablet-chromium] › tests/e2e/wcag-aa.spec.ts:16:3 › WCAG AA audit passes for /reference/api/csharp/ [mobile-chromium] › tests/e2e/pivot-selector.spec.ts:4:1 › prerequisites pivot selection updates the apphost query string and visible content [mobile-chromium] › tests/e2e/wcag-aa.spec.ts:16:3 › WCAG AA audit passes for / ──────────────── [mobile-chromium] › tests/e2e/wcag-aa.spec.ts:16:3 › WCAG AA audit passes for /get-started/install-cli/ [mobile-chromium] › tests/e2e/wcag-aa.spec.ts:16:3 › WCAG AA audit passes for /get-started/aspire-vscode-extension/ [mobile-chromium] › tests/e2e/wcag-aa.spec.ts:16:3 › WCAG AA audit passes for /reference/api/csharp/ 6 skipped 48 passed (6.8m)

Artifacts

Produced during runtime
Name Size Digest
frontend-playwright-report
194 MB
sha256:a6f1b0a85555c2f0242d513ede421194bd1474905c36909f88f00b84a68f5e29
frontend-test-results
199 MB
sha256:e88950aa42c5bff9088decca2143b9534d1a618332c2b7784e48e1cc833ed723