Live status header icon + redesigned videos page #1953
ci.yml
on: pull_request
changes
10s
frontend-build
/
Frontend Build
19m 33s
apphost-build
/
AppHost Build
26s
ci-gate
3s
Annotations
11 errors and 1 notice
|
[mobile-chromium] › tests/e2e/live-status.spec.ts:136:3 › live status › live header click opens site-global native picture-in-picture and suppresses strobe:
src/frontend/tests/e2e/live-status.spec.ts#L205
3) [mobile-chromium] › tests/e2e/live-status.spec.ts:136:3 › live status › live header click opens site-global native picture-in-picture and suppresses strobe
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: locator.click: Test timeout of 60000ms exceeded.
Call log:
- waiting for locator('.live-btn').first()
- locator resolved to <a data-live="true" data-source="twitch" data-pip-open="false" aria-expanded="false" href="/community/videos/" data-native-pip-bound="true" data-tour-target="live-status" aria-label="Aspire is live — watch now" class="header-icon-btn live-btn astro-zixgsetp">…</a>
- attempting click action
2 × waiting for element to be visible, enabled and stable
- element is not visible
- retrying click action
- waiting 20ms
2 × waiting for element to be visible, enabled and stable
- element is not visible
- retrying click action
- waiting 100ms
114 × waiting for element to be visible, enabled and stable
- element is not visible
- retrying click action
- waiting 500ms
203 | const liveBtn = page.locator('.live-btn').first();
204 | await expect(liveBtn).toHaveAttribute('data-live', 'true');
> 205 | await liveBtn.click();
| ^
206 |
207 | await expect
208 | .poll(() => page.evaluate(() => (window as Window & { __aspirePipRequested?: number }).__aspirePipRequested))
at /home/runner/work/aspire.dev/aspire.dev/src/frontend/tests/e2e/live-status.spec.ts:205:19
|
|
[mobile-chromium] › tests/e2e/live-status.spec.ts:136:3 › live status › live header click opens site-global native picture-in-picture and suppresses strobe:
src/frontend/tests/e2e/live-status.spec.ts#L0
3) [mobile-chromium] › tests/e2e/live-status.spec.ts:136:3 › live status › live header click opens site-global native picture-in-picture and suppresses strobe
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Test timeout of 60000ms exceeded.
|
|
[mobile-chromium] › tests/e2e/live-status.spec.ts:136:3 › live status › live header click opens site-global native picture-in-picture and suppresses strobe:
src/frontend/tests/e2e/live-status.spec.ts#L205
3) [mobile-chromium] › tests/e2e/live-status.spec.ts:136:3 › live status › live header click opens site-global native picture-in-picture and suppresses strobe
Error: locator.click: Test timeout of 60000ms exceeded.
Call log:
- waiting for locator('.live-btn').first()
- locator resolved to <a data-live="true" data-source="twitch" data-pip-open="false" aria-expanded="false" href="/community/videos/" data-native-pip-bound="true" data-tour-target="live-status" aria-label="Aspire is live — watch now" class="header-icon-btn live-btn astro-zixgsetp">…</a>
- attempting click action
2 × waiting for element to be visible, enabled and stable
- element is not visible
- retrying click action
- waiting 20ms
2 × waiting for element to be visible, enabled and stable
- element is not visible
- retrying click action
- waiting 100ms
113 × waiting for element to be visible, enabled and stable
- element is not visible
- retrying click action
- waiting 500ms
203 | const liveBtn = page.locator('.live-btn').first();
204 | await expect(liveBtn).toHaveAttribute('data-live', 'true');
> 205 | await liveBtn.click();
| ^
206 |
207 | await expect
208 | .poll(() => page.evaluate(() => (window as Window & { __aspirePipRequested?: number }).__aspirePipRequested))
at /home/runner/work/aspire.dev/aspire.dev/src/frontend/tests/e2e/live-status.spec.ts:205:19
|
|
[mobile-chromium] › tests/e2e/live-status.spec.ts:136:3 › live status › live header click opens site-global native picture-in-picture and suppresses strobe:
src/frontend/tests/e2e/live-status.spec.ts#L0
3) [mobile-chromium] › tests/e2e/live-status.spec.ts:136:3 › live status › live header click opens site-global native picture-in-picture and suppresses strobe
Test timeout of 60000ms exceeded.
|
|
[mobile-chromium] › tests/e2e/live-status.spec.ts:32:3 › live status › header icon strobes when an SSE state event flips to live:
src/frontend/tests/e2e/live-status.spec.ts#L79
2) [mobile-chromium] › tests/e2e/live-status.spec.ts:32:3 › live status › header icon strobes when an SSE state event flips to live
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toBeVisible() failed
Locator: locator('.live-btn').first()
Expected: visible
Received: hidden
Timeout: 5000ms
Call log:
- Expect "toBeVisible" with timeout 5000ms
- waiting for locator('.live-btn').first()
9 × locator resolved to <a data-live="false" data-source="none" data-pip-open="false" aria-expanded="false" href="/community/videos/" data-native-pip-bound="true" data-tour-target="live-status" aria-label="Watch Aspire videos" class="header-icon-btn live-btn astro-zixgsetp">…</a>
- unexpected value "hidden"
77 |
78 | const liveBtn = page.locator('.live-btn').first();
> 79 | await expect(liveBtn).toBeVisible();
| ^
80 | await expect(liveBtn).toHaveAttribute('data-live', 'false');
81 |
82 | const liveSnapshot: LiveSnapshot = {
at /home/runner/work/aspire.dev/aspire.dev/src/frontend/tests/e2e/live-status.spec.ts:79:27
|
|
[mobile-chromium] › tests/e2e/live-status.spec.ts:32:3 › live status › header icon strobes when an SSE state event flips to live:
src/frontend/tests/e2e/live-status.spec.ts#L79
2) [mobile-chromium] › tests/e2e/live-status.spec.ts:32:3 › live status › header icon strobes when an SSE state event flips to live
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toBeVisible() failed
Locator: locator('.live-btn').first()
Expected: visible
Received: hidden
Timeout: 5000ms
Call log:
- Expect "toBeVisible" with timeout 5000ms
- waiting for locator('.live-btn').first()
9 × locator resolved to <a data-live="false" data-source="none" data-pip-open="false" aria-expanded="false" href="/community/videos/" data-native-pip-bound="true" data-tour-target="live-status" aria-label="Watch Aspire videos" class="header-icon-btn live-btn astro-zixgsetp">…</a>
- unexpected value "hidden"
77 |
78 | const liveBtn = page.locator('.live-btn').first();
> 79 | await expect(liveBtn).toBeVisible();
| ^
80 | await expect(liveBtn).toHaveAttribute('data-live', 'false');
81 |
82 | const liveSnapshot: LiveSnapshot = {
at /home/runner/work/aspire.dev/aspire.dev/src/frontend/tests/e2e/live-status.spec.ts:79:27
|
|
[mobile-chromium] › tests/e2e/live-status.spec.ts:32:3 › live status › header icon strobes when an SSE state event flips to live:
src/frontend/tests/e2e/live-status.spec.ts#L79
2) [mobile-chromium] › tests/e2e/live-status.spec.ts:32:3 › live status › header icon strobes when an SSE state event flips to live
Error: expect(locator).toBeVisible() failed
Locator: locator('.live-btn').first()
Expected: visible
Received: hidden
Timeout: 5000ms
Call log:
- Expect "toBeVisible" with timeout 5000ms
- waiting for locator('.live-btn').first()
9 × locator resolved to <a data-live="false" data-source="none" data-pip-open="false" aria-expanded="false" href="/community/videos/" data-native-pip-bound="true" data-tour-target="live-status" aria-label="Watch Aspire videos" class="header-icon-btn live-btn astro-zixgsetp">…</a>
- unexpected value "hidden"
77 |
78 | const liveBtn = page.locator('.live-btn').first();
> 79 | await expect(liveBtn).toBeVisible();
| ^
80 | await expect(liveBtn).toHaveAttribute('data-live', 'false');
81 |
82 | const liveSnapshot: LiveSnapshot = {
at /home/runner/work/aspire.dev/aspire.dev/src/frontend/tests/e2e/live-status.spec.ts:79:27
|
|
[desktop-chromium] › tests/e2e/ui-regressions.spec.ts:91:1 › homepage header actions stay reachable at zoomed and reflow widths:
src/frontend/tests/e2e/ui-regressions.spec.ts#L118
1) [desktop-chromium] › tests/e2e/ui-regressions.spec.ts:91:1 › homepage header actions stay reachable at zoomed and reflow widths
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(received).toEqual(expected) // deep equality
- Expected - 0
+ Received + 1
Array [
"Aspire",
"Search",
+ "Watch Aspire videos",
"Open cookie preferences dialog",
"Open install Aspire CLI dialog",
"Docs",
"Try",
]
Call Log:
- Timeout 5000ms exceeded while waiting on the predicate
116 | const banner = page.getByRole('banner');
117 |
> 118 | await expect
| ^
119 | .poll(() =>
120 | banner.evaluate((header) =>
121 | Array.from(header.querySelectorAll('a, button'))
at /home/runner/work/aspire.dev/aspire.dev/src/frontend/tests/e2e/ui-regressions.spec.ts:118:5
|
|
[desktop-chromium] › tests/e2e/ui-regressions.spec.ts:91:1 › homepage header actions stay reachable at zoomed and reflow widths:
src/frontend/tests/e2e/ui-regressions.spec.ts#L118
1) [desktop-chromium] › tests/e2e/ui-regressions.spec.ts:91:1 › homepage header actions stay reachable at zoomed and reflow widths
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(received).toEqual(expected) // deep equality
- Expected - 0
+ Received + 1
Array [
"Aspire",
"Search",
+ "Watch Aspire videos",
"Open cookie preferences dialog",
"Open install Aspire CLI dialog",
"Docs",
"Try",
]
Call Log:
- Timeout 5000ms exceeded while waiting on the predicate
116 | const banner = page.getByRole('banner');
117 |
> 118 | await expect
| ^
119 | .poll(() =>
120 | banner.evaluate((header) =>
121 | Array.from(header.querySelectorAll('a, button'))
at /home/runner/work/aspire.dev/aspire.dev/src/frontend/tests/e2e/ui-regressions.spec.ts:118:5
|
|
[desktop-chromium] › tests/e2e/ui-regressions.spec.ts:91:1 › homepage header actions stay reachable at zoomed and reflow widths:
src/frontend/tests/e2e/ui-regressions.spec.ts#L118
1) [desktop-chromium] › tests/e2e/ui-regressions.spec.ts:91:1 › homepage header actions stay reachable at zoomed and reflow widths
Error: expect(received).toEqual(expected) // deep equality
- Expected - 0
+ Received + 1
Array [
"Aspire",
"Search",
+ "Watch Aspire videos",
"Open cookie preferences dialog",
"Open install Aspire CLI dialog",
"Docs",
"Try",
]
Call Log:
- Timeout 5000ms exceeded while waiting on the predicate
116 | const banner = page.getByRole('banner');
117 |
> 118 | await expect
| ^
119 | .poll(() =>
120 | banner.evaluate((header) =>
121 | Array.from(header.querySelectorAll('a, button'))
at /home/runner/work/aspire.dev/aspire.dev/src/frontend/tests/e2e/ui-regressions.spec.ts:118:5
|
|
ci-gate
Process completed with exit code 1.
|
|
🎭 Playwright Run Summary
4 failed
[desktop-chromium] › tests/e2e/ui-regressions.spec.ts:91:1 › homepage header actions stay reachable at zoomed and reflow widths
[mobile-chromium] › tests/e2e/live-status.spec.ts:32:3 › live status › header icon strobes when an SSE state event flips to live
[mobile-chromium] › tests/e2e/live-status.spec.ts:136:3 › live status › live header click opens site-global native picture-in-picture and suppresses strobe
[mobile-chromium] › tests/e2e/live-status.spec.ts:242:3 › live status › live header offers a provider choice when both streams are live
16 skipped
118 passed (6.3m)
|
Artifacts
Produced during runtime
| Name | Size | Digest | |
|---|---|---|---|
|
apphost-release
|
9.06 MB |
sha256:aa48d0ec6f697ae1480e2cef47044d29096492daae97bb38182243931d2c1e6b
|
|
|
frontend-dist
|
692 MB |
sha256:ea243de25d56cb979336c5f9b555c01a8e1955415e150d39bdc142bb150b67a2
|
|
|
frontend-playwright-report
|
172 MB |
sha256:fc7b7778b883374b237501384371a818e3ae871ad9967756a15f0eae46913955
|
|
|
frontend-test-results
|
172 MB |
sha256:1ce64b42bb5375ff6f19d1635905576b2b3fca37c9ee146b3f58f5097d0da851
|
|