Skip to content

test(e2e): add Convert and Stream view end-to-end tests #202

test(e2e): add Convert and Stream view end-to-end tests

test(e2e): add Convert and Stream view end-to-end tests #202

Triggered via pull request February 13, 2026 17:27
Status Failure
Total duration 18m 47s
Artifacts 2

ci.yml

on: pull_request
Fit to window
Zoom out
Zoom in

Annotations

10 errors, 10 warnings, and 1 notice
[chromium] › tests/stream.spec.ts:28:3 › Stream View - Dynamic Pipeline › creates session from template: e2e/tests/stream.spec.ts#L35
4) [chromium] › tests/stream.spec.ts:28:3 › Stream View - Dynamic Pipeline › creates session from template, verifies active badge, then destroys it Error: expect(locator).toBeVisible() failed Locator: getByText('MoQ Peer Transcoder (Gateway)') Expected: visible Error: strict mode violation: getByText('MoQ Peer Transcoder (Gateway)') resolved to 2 elements: 1) <div class="css-1vhd9x6">MoQ Peer Transcoder (Gateway)</div> aka getByText('MoQ Peer Transcoder (Gateway)', { exact: true }) 2) <div class="cm-line">…</div> aka getByText('name: MoQ Peer Transcoder (') Call log: - Expect "toBeVisible" with timeout 10000ms - waiting for getByText('MoQ Peer Transcoder (Gateway)') 33 | 34 | const templateCard = page.getByText('MoQ Peer Transcoder (Gateway)'); > 35 | await expect(templateCard).toBeVisible({ timeout: 10_000 }); | ^ 36 | await templateCard.click(); 37 | 38 | const createButton = page.getByRole('button', { name: /Create Session/i }); at /home/runner/work/streamkit/streamkit/e2e/tests/stream.spec.ts:35:32
[chromium] › tests/convert.spec.ts:97:3 › Convert View - Audio Mixing Pipeline › UI: select mixing template: e2e/tests/convert.spec.ts#L103
3) [chromium] › tests/convert.spec.ts:97:3 › Convert View - Audio Mixing Pipeline › UI: select mixing template, use existing asset, convert, verify audio player Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: getByText('Audio Mixing (Upload + Music Track)') Expected: visible Error: strict mode violation: getByText('Audio Mixing (Upload + Music Track)') resolved to 2 elements: 1) <div class="css-1vhd9x6">Audio Mixing (Upload + Music Track)</div> aka getByText('Audio Mixing (Upload + Music Track)', { exact: true }) 2) <div class="cm-line">…</div> aka getByText('name: Audio Mixing (Upload +') Call log: - Expect "toBeVisible" with timeout 10000ms - waiting for getByText('Audio Mixing (Upload + Music Track)') 101 | 102 | const templateCard = page.getByText('Audio Mixing (Upload + Music Track)'); > 103 | await expect(templateCard).toBeVisible({ timeout: 10_000 }); | ^ 104 | await templateCard.click(); 105 | 106 | const assetModeButton = page.getByRole('button', { name: /Select Existing Asset/i }); at /home/runner/work/streamkit/streamkit/e2e/tests/convert.spec.ts:103:32
[chromium] › tests/convert.spec.ts:97:3 › Convert View - Audio Mixing Pipeline › UI: select mixing template: e2e/tests/convert.spec.ts#L103
3) [chromium] › tests/convert.spec.ts:97:3 › Convert View - Audio Mixing Pipeline › UI: select mixing template, use existing asset, convert, verify audio player Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: getByText('Audio Mixing (Upload + Music Track)') Expected: visible Error: strict mode violation: getByText('Audio Mixing (Upload + Music Track)') resolved to 2 elements: 1) <div class="css-1vhd9x6">Audio Mixing (Upload + Music Track)</div> aka getByText('Audio Mixing (Upload + Music Track)', { exact: true }) 2) <div class="cm-line">…</div> aka getByText('name: Audio Mixing (Upload +') Call log: - Expect "toBeVisible" with timeout 10000ms - waiting for getByText('Audio Mixing (Upload + Music Track)') 101 | 102 | const templateCard = page.getByText('Audio Mixing (Upload + Music Track)'); > 103 | await expect(templateCard).toBeVisible({ timeout: 10_000 }); | ^ 104 | await templateCard.click(); 105 | 106 | const assetModeButton = page.getByRole('button', { name: /Select Existing Asset/i }); at /home/runner/work/streamkit/streamkit/e2e/tests/convert.spec.ts:103:32
[chromium] › tests/convert.spec.ts:97:3 › Convert View - Audio Mixing Pipeline › UI: select mixing template: e2e/tests/convert.spec.ts#L103
3) [chromium] › tests/convert.spec.ts:97:3 › Convert View - Audio Mixing Pipeline › UI: select mixing template, use existing asset, convert, verify audio player Error: expect(locator).toBeVisible() failed Locator: getByText('Audio Mixing (Upload + Music Track)') Expected: visible Error: strict mode violation: getByText('Audio Mixing (Upload + Music Track)') resolved to 2 elements: 1) <div class="css-1vhd9x6">Audio Mixing (Upload + Music Track)</div> aka getByText('Audio Mixing (Upload + Music Track)', { exact: true }) 2) <div class="cm-line">…</div> aka getByText('name: Audio Mixing (Upload +') Call log: - Expect "toBeVisible" with timeout 10000ms - waiting for getByText('Audio Mixing (Upload + Music Track)') 101 | 102 | const templateCard = page.getByText('Audio Mixing (Upload + Music Track)'); > 103 | await expect(templateCard).toBeVisible({ timeout: 10_000 }); | ^ 104 | await templateCard.click(); 105 | 106 | const assetModeButton = page.getByRole('button', { name: /Select Existing Asset/i }); at /home/runner/work/streamkit/streamkit/e2e/tests/convert.spec.ts:103:32
[chromium] › tests/convert.spec.ts:71:3 › Convert View - Audio Mixing Pipeline › UI: select mixing template: e2e/tests/convert.spec.ts#L77
2) [chromium] › tests/convert.spec.ts:71:3 › Convert View - Audio Mixing Pipeline › UI: select mixing template, upload file, convert, verify audio player Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: getByText('Audio Mixing (Upload + Music Track)') Expected: visible Error: strict mode violation: getByText('Audio Mixing (Upload + Music Track)') resolved to 2 elements: 1) <div class="css-1vhd9x6">Audio Mixing (Upload + Music Track)</div> aka getByText('Audio Mixing (Upload + Music Track)', { exact: true }) 2) <div class="cm-line">…</div> aka getByText('name: Audio Mixing (Upload +') Call log: - Expect "toBeVisible" with timeout 10000ms - waiting for getByText('Audio Mixing (Upload + Music Track)') 75 | 76 | const templateCard = page.getByText('Audio Mixing (Upload + Music Track)'); > 77 | await expect(templateCard).toBeVisible({ timeout: 10_000 }); | ^ 78 | await templateCard.click(); 79 | 80 | await expect(page.locator('input[type="file"]').first()).toBeAttached(); at /home/runner/work/streamkit/streamkit/e2e/tests/convert.spec.ts:77:32
[chromium] › tests/convert.spec.ts:71:3 › Convert View - Audio Mixing Pipeline › UI: select mixing template: e2e/tests/convert.spec.ts#L77
2) [chromium] › tests/convert.spec.ts:71:3 › Convert View - Audio Mixing Pipeline › UI: select mixing template, upload file, convert, verify audio player Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: expect(locator).toBeVisible() failed Locator: getByText('Audio Mixing (Upload + Music Track)') Expected: visible Error: strict mode violation: getByText('Audio Mixing (Upload + Music Track)') resolved to 2 elements: 1) <div class="css-1vhd9x6">Audio Mixing (Upload + Music Track)</div> aka getByText('Audio Mixing (Upload + Music Track)', { exact: true }) 2) <div class="cm-line">…</div> aka getByText('name: Audio Mixing (Upload +') Call log: - Expect "toBeVisible" with timeout 10000ms - waiting for getByText('Audio Mixing (Upload + Music Track)') 75 | 76 | const templateCard = page.getByText('Audio Mixing (Upload + Music Track)'); > 77 | await expect(templateCard).toBeVisible({ timeout: 10_000 }); | ^ 78 | await templateCard.click(); 79 | 80 | await expect(page.locator('input[type="file"]').first()).toBeAttached(); at /home/runner/work/streamkit/streamkit/e2e/tests/convert.spec.ts:77:32
[chromium] › tests/convert.spec.ts:71:3 › Convert View - Audio Mixing Pipeline › UI: select mixing template: e2e/tests/convert.spec.ts#L77
2) [chromium] › tests/convert.spec.ts:71:3 › Convert View - Audio Mixing Pipeline › UI: select mixing template, upload file, convert, verify audio player Error: expect(locator).toBeVisible() failed Locator: getByText('Audio Mixing (Upload + Music Track)') Expected: visible Error: strict mode violation: getByText('Audio Mixing (Upload + Music Track)') resolved to 2 elements: 1) <div class="css-1vhd9x6">Audio Mixing (Upload + Music Track)</div> aka getByText('Audio Mixing (Upload + Music Track)', { exact: true }) 2) <div class="cm-line">…</div> aka getByText('name: Audio Mixing (Upload +') Call log: - Expect "toBeVisible" with timeout 10000ms - waiting for getByText('Audio Mixing (Upload + Music Track)') 75 | 76 | const templateCard = page.getByText('Audio Mixing (Upload + Music Track)'); > 77 | await expect(templateCard).toBeVisible({ timeout: 10_000 }); | ^ 78 | await templateCard.click(); 79 | 80 | await expect(page.locator('input[type="file"]').first()).toBeAttached(); at /home/runner/work/streamkit/streamkit/e2e/tests/convert.spec.ts:77:32
[chromium] › tests/convert.spec.ts:37:3 › Convert View - Audio Mixing Pipeline › API: POST /api/v1/process with mixing pipeline returns audio: e2e/tests/convert.spec.ts#L0
1) [chromium] › tests/convert.spec.ts:37:3 › Convert View - Audio Mixing Pipeline › API: POST /api/v1/process with mixing pipeline returns audio Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 30000ms exceeded.
[chromium] › tests/convert.spec.ts:37:3 › Convert View - Audio Mixing Pipeline › API: POST /api/v1/process with mixing pipeline returns audio: e2e/tests/convert.spec.ts#L0
1) [chromium] › tests/convert.spec.ts:37:3 › Convert View - Audio Mixing Pipeline › API: POST /api/v1/process with mixing pipeline returns audio Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 30000ms exceeded.
[chromium] › tests/convert.spec.ts:37:3 › Convert View - Audio Mixing Pipeline › API: POST /api/v1/process with mixing pipeline returns audio: e2e/tests/convert.spec.ts#L0
1) [chromium] › tests/convert.spec.ts:37:3 › Convert View - Audio Mixing Pipeline › API: POST /api/v1/process with mixing pipeline returns audio Test timeout of 30000ms exceeded.
UI / Test
Cache reservation failed: You have reached your configured budget, your cache is now read only to prevent additional charges.
UI / Build
Cache reservation failed: You have reached your configured budget, your cache is now read only to prevent additional charges.
UI / Lint (TypeScript + ESLint)
Cache reservation failed: You have reached your configured budget, your cache is now read only to prevent additional charges.
Plugins / Lint (Sherpa-ONNX Plugins)
Cache reservation failed: You have reached your configured budget, your cache is now read only to prevent additional charges.
Plugins / Lint (Sherpa-ONNX Plugins)
Failed to restore: "/usr/bin/tar" failed with error: The process '/usr/bin/tar' failed with exit code 2
Plugins / Lint (NLLB)
Cache reservation failed: You have reached your configured budget, your cache is now read only to prevent additional charges.
Plugins / Lint (NLLB)
Failed to restore: "/usr/bin/tar" failed with error: The process '/usr/bin/tar' failed with exit code 2
Skit / Lint (fmt + clippy)
Cache reservation failed: You have reached your configured budget, your cache is now read only to prevent additional charges.
Skit / Test
Cache reservation failed: You have reached your configured budget, your cache is now read only to prevent additional charges.
Skit / Build
Cache reservation failed: You have reached your configured budget, your cache is now read only to prevent additional charges.
🎭 Playwright Run Summary
4 failed [chromium] › tests/convert.spec.ts:37:3 › Convert View - Audio Mixing Pipeline › API: POST /api/v1/process with mixing pipeline returns audio [chromium] › tests/convert.spec.ts:71:3 › Convert View - Audio Mixing Pipeline › UI: select mixing template, upload file, convert, verify audio player [chromium] › tests/convert.spec.ts:97:3 › Convert View - Audio Mixing Pipeline › UI: select mixing template, use existing asset, convert, verify audio player [chromium] › tests/stream.spec.ts:28:3 › Stream View - Dynamic Pipeline › creates session from template, verifies active badge, then destroys it 3 skipped 5 passed (2.0m)

Artifacts

Produced during runtime
Name Size Digest
playwright-report Expired
4.8 MB
sha256:67b050c4b8e385dd626186417e07ace5918e8a30df5bee362e4f81a597ef5b12
playwright-results Expired
4.96 MB
sha256:445cd376e2dc0ed61bec7bf103c0f38dca4abacf8102f0421b2bff9e027dbcca