Skip to content

bench: add blob download read-ahead benchmark (read_prefetch sweep) #1153

bench: add blob download read-ahead benchmark (read_prefetch sweep)

bench: add blob download read-ahead benchmark (read_prefetch sweep) #1153

Triggered via pull request June 22, 2026 09:52
Status Failure
Total duration 15m 3s
Artifacts 2

ci.yml

on: pull_request
API & Webdav tests
51s
API & Webdav tests
Frontend — svelte-check, ESLint, Stylelint, Prettier
0s
Frontend — svelte-check, ESLint, Stylelint, Prettier
Rustfmt
9s
Rustfmt
Clippy
1m 26s
Clippy
Wasm — fmt + clippy
0s
Wasm — fmt + clippy
Wasm — release tests
0s
Wasm — release tests
Plugins — fixtures + runtime tests
0s
Plugins — fixtures + runtime tests
Server Unit and Functionnal Tests
6m 55s
Server Unit and Functionnal Tests
Security Audit
3m 16s
Security Audit
Frontend end-to-end tests (via Playwright)
2m 40s
Frontend end-to-end tests (via Playwright)
Fit to window
Zoom out
Zoom in

Annotations

13 errors, 11 warnings, and 1 notice
Rustfmt
Process completed with exit code 1.
Security Audit
Unable to publish audit check! Reason: HttpError: Resource not accessible by integration - https://docs.github.com/rest/checks/runs#create-a-check-run
Server Unit and Functionnal Tests
System.IO.IOException: No space left on device : '/home/runner/actions-runner/cached/2.335.1/_diag/Worker_20260622-095230-utc.log' at System.IO.RandomAccess.WriteAtOffset(SafeFileHandle handle, ReadOnlySpan`1 buffer, Int64 fileOffset) at System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder) at System.Diagnostics.TextWriterTraceListener.Flush() at GitHub.Runner.Common.HostTraceListener.WriteHeader(String source, TraceEventType eventType, Int32 id) at System.Diagnostics.TraceSource.TraceEvent(TraceEventType eventType, Int32 id, String message) at GitHub.Runner.Worker.Worker.RunAsync(String pipeIn, String pipeOut) at GitHub.Runner.Worker.Program.MainAsync(IHostContext context, String[] args) System.IO.IOException: No space left on device : '/home/runner/actions-runner/cached/2.335.1/_diag/Worker_20260622-095230-utc.log' at System.IO.RandomAccess.WriteAtOffset(SafeFileHandle handle, ReadOnlySpan`1 buffer, Int64 fileOffset) at System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder) at System.Diagnostics.TextWriterTraceListener.Flush() at GitHub.Runner.Common.HostTraceListener.WriteHeader(String source, TraceEventType eventType, Int32 id) at System.Diagnostics.TraceSource.TraceEvent(TraceEventType eventType, Int32 id, String message) at GitHub.Runner.Common.Tracing.Error(Exception exception) at GitHub.Runner.Worker.Program.MainAsync(IHostContext context, String[] args) Unhandled exception. System.IO.IOException: No space left on device : '/home/runner/actions-runner/cached/2.335.1/_diag/Worker_20260622-095230-utc.log' at System.IO.RandomAccess.WriteAtOffset(SafeFileHandle handle, ReadOnlySpan`1 buffer, Int64 fileOffset) at System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder) at System.Diagnostics.TextWriterTraceListener.Flush() at System.Diagnostics.TraceSource.Flush() at GitHub.Runner.Common.Tracing.Dispose(Boolean disposing) at GitHub.Runner.Common.Tracing.Dispose() at GitHub.Runner.Common.TraceManager.Dispose(Boolean disposing) at GitHub.Runner.Common.TraceManager.Dispose() at GitHub.Runner.Common.HostContext.Dispose(Boolean disposing) at GitHub.Runner.Common.HostContext.Dispose() at GitHub.Runner.Worker.Program.Main(String[] args)
[chromium] › scenarios/02-folder-management.spec.ts:178:7 › Folder management › uploaded files rendered with thumbnails: tests/e2e/scenarios/helpers.ts#L381
10) [chromium] › scenarios/02-folder-management.spec.ts:178:7 › Folder management › uploaded files rendered with thumbnails Error: expect(locator).toBeAttached() failed Locator: locator('#language-panel:not(.hidden), #login-panel:not(.hidden)').first() Expected: attached Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeAttached" with timeout 5000ms - waiting for locator('#language-panel:not(.hidden), #login-panel:not(.hidden)').first() at helpers.ts:381 379 | await expect( 380 | page.locator('#language-panel:not(.hidden), #login-panel:not(.hidden)').first() > 381 | ).toBeAttached(); | ^ 382 | 383 | if (await page.locator('#language-panel').isVisible()) { 384 | await page.locator('#language-continue').click(); at goToLoginPage (/home/runner/work/OxiCloud/OxiCloud/tests/e2e/scenarios/helpers.ts:381:5) at loginAsAdmin (/home/runner/work/OxiCloud/OxiCloud/tests/e2e/scenarios/helpers.ts:359:3) at /home/runner/work/OxiCloud/OxiCloud/tests/e2e/scenarios/02-folder-management.spec.ts:72:5
[chromium] › scenarios/02-folder-management.spec.ts:161:7 › Folder management › upload of multiple files: tests/e2e/scenarios/helpers.ts#L381
9) [chromium] › scenarios/02-folder-management.spec.ts:161:7 › Folder management › upload of multiple files Error: expect(locator).toBeAttached() failed Locator: locator('#language-panel:not(.hidden), #login-panel:not(.hidden)').first() Expected: attached Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeAttached" with timeout 5000ms - waiting for locator('#language-panel:not(.hidden), #login-panel:not(.hidden)').first() at helpers.ts:381 379 | await expect( 380 | page.locator('#language-panel:not(.hidden), #login-panel:not(.hidden)').first() > 381 | ).toBeAttached(); | ^ 382 | 383 | if (await page.locator('#language-panel').isVisible()) { 384 | await page.locator('#language-continue').click(); at goToLoginPage (/home/runner/work/OxiCloud/OxiCloud/tests/e2e/scenarios/helpers.ts:381:5) at loginAsAdmin (/home/runner/work/OxiCloud/OxiCloud/tests/e2e/scenarios/helpers.ts:359:3) at /home/runner/work/OxiCloud/OxiCloud/tests/e2e/scenarios/02-folder-management.spec.ts:72:5
[chromium] › scenarios/02-folder-management.spec.ts:124:7 › Folder management › folder rename: tests/e2e/scenarios/helpers.ts#L381
8) [chromium] › scenarios/02-folder-management.spec.ts:124:7 › Folder management › folder rename ─ Error: expect(locator).toBeAttached() failed Locator: locator('#language-panel:not(.hidden), #login-panel:not(.hidden)').first() Expected: attached Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeAttached" with timeout 5000ms - waiting for locator('#language-panel:not(.hidden), #login-panel:not(.hidden)').first() at helpers.ts:381 379 | await expect( 380 | page.locator('#language-panel:not(.hidden), #login-panel:not(.hidden)').first() > 381 | ).toBeAttached(); | ^ 382 | 383 | if (await page.locator('#language-panel').isVisible()) { 384 | await page.locator('#language-continue').click(); at goToLoginPage (/home/runner/work/OxiCloud/OxiCloud/tests/e2e/scenarios/helpers.ts:381:5) at loginAsAdmin (/home/runner/work/OxiCloud/OxiCloud/tests/e2e/scenarios/helpers.ts:359:3) at /home/runner/work/OxiCloud/OxiCloud/tests/e2e/scenarios/02-folder-management.spec.ts:72:5
[chromium] › scenarios/02-folder-management.spec.ts:111:7 › Folder management › folder creation rejected if bad name: tests/e2e/scenarios/helpers.ts#L381
7) [chromium] › scenarios/02-folder-management.spec.ts:111:7 › Folder management › folder creation rejected if bad name Error: expect(locator).toBeAttached() failed Locator: locator('#language-panel:not(.hidden), #login-panel:not(.hidden)').first() Expected: attached Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeAttached" with timeout 5000ms - waiting for locator('#language-panel:not(.hidden), #login-panel:not(.hidden)').first() at helpers.ts:381 379 | await expect( 380 | page.locator('#language-panel:not(.hidden), #login-panel:not(.hidden)').first() > 381 | ).toBeAttached(); | ^ 382 | 383 | if (await page.locator('#language-panel').isVisible()) { 384 | await page.locator('#language-continue').click(); at goToLoginPage (/home/runner/work/OxiCloud/OxiCloud/tests/e2e/scenarios/helpers.ts:381:5) at loginAsAdmin (/home/runner/work/OxiCloud/OxiCloud/tests/e2e/scenarios/helpers.ts:359:3) at /home/runner/work/OxiCloud/OxiCloud/tests/e2e/scenarios/02-folder-management.spec.ts:72:5
[chromium] › scenarios/02-folder-management.spec.ts:94:7 › Folder management › folder reject if already exists: tests/e2e/scenarios/helpers.ts#L381
6) [chromium] › scenarios/02-folder-management.spec.ts:94:7 › Folder management › folder reject if already exists Error: expect(locator).toBeAttached() failed Locator: locator('#language-panel:not(.hidden), #login-panel:not(.hidden)').first() Expected: attached Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeAttached" with timeout 5000ms - waiting for locator('#language-panel:not(.hidden), #login-panel:not(.hidden)').first() at helpers.ts:381 379 | await expect( 380 | page.locator('#language-panel:not(.hidden), #login-panel:not(.hidden)').first() > 381 | ).toBeAttached(); | ^ 382 | 383 | if (await page.locator('#language-panel').isVisible()) { 384 | await page.locator('#language-continue').click(); at goToLoginPage (/home/runner/work/OxiCloud/OxiCloud/tests/e2e/scenarios/helpers.ts:381:5) at loginAsAdmin (/home/runner/work/OxiCloud/OxiCloud/tests/e2e/scenarios/helpers.ts:359:3) at /home/runner/work/OxiCloud/OxiCloud/tests/e2e/scenarios/02-folder-management.spec.ts:72:5
[chromium] › scenarios/02-folder-management.spec.ts:75:7 › Folder management › folder creation: tests/e2e/scenarios/helpers.ts#L381
5) [chromium] › scenarios/02-folder-management.spec.ts:75:7 › Folder management › folder creation Error: expect(locator).toBeAttached() failed Locator: locator('#language-panel:not(.hidden), #login-panel:not(.hidden)').first() Expected: attached Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeAttached" with timeout 5000ms - waiting for locator('#language-panel:not(.hidden), #login-panel:not(.hidden)').first() at helpers.ts:381 379 | await expect( 380 | page.locator('#language-panel:not(.hidden), #login-panel:not(.hidden)').first() > 381 | ).toBeAttached(); | ^ 382 | 383 | if (await page.locator('#language-panel').isVisible()) { 384 | await page.locator('#language-continue').click(); at goToLoginPage (/home/runner/work/OxiCloud/OxiCloud/tests/e2e/scenarios/helpers.ts:381:5) at loginAsAdmin (/home/runner/work/OxiCloud/OxiCloud/tests/e2e/scenarios/helpers.ts:359:3) at /home/runner/work/OxiCloud/OxiCloud/tests/e2e/scenarios/02-folder-management.spec.ts:72:5
[chromium] › scenarios/01-home-and-login.spec.ts:59:7 › authenticated as admin › theme can be changed to dark: tests/e2e/scenarios/helpers.ts#L381
4) [chromium] › scenarios/01-home-and-login.spec.ts:59:7 › authenticated as admin › theme can be changed to dark Error: expect(locator).toBeAttached() failed Locator: locator('#language-panel:not(.hidden), #login-panel:not(.hidden)').first() Expected: attached Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeAttached" with timeout 5000ms - waiting for locator('#language-panel:not(.hidden), #login-panel:not(.hidden)').first() at helpers.ts:381 379 | await expect( 380 | page.locator('#language-panel:not(.hidden), #login-panel:not(.hidden)').first() > 381 | ).toBeAttached(); | ^ 382 | 383 | if (await page.locator('#language-panel').isVisible()) { 384 | await page.locator('#language-continue').click(); at goToLoginPage (/home/runner/work/OxiCloud/OxiCloud/tests/e2e/scenarios/helpers.ts:381:5) at loginAsAdmin (/home/runner/work/OxiCloud/OxiCloud/tests/e2e/scenarios/helpers.ts:359:3) at /home/runner/work/OxiCloud/OxiCloud/tests/e2e/scenarios/01-home-and-login.spec.ts:43:5
[chromium] › scenarios/01-home-and-login.spec.ts:46:7 › authenticated as admin › home page shows empty files list: tests/e2e/scenarios/helpers.ts#L381
3) [chromium] › scenarios/01-home-and-login.spec.ts:46:7 › authenticated as admin › home page shows empty files list Error: expect(locator).toBeAttached() failed Locator: locator('#language-panel:not(.hidden), #login-panel:not(.hidden)').first() Expected: attached Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeAttached" with timeout 5000ms - waiting for locator('#language-panel:not(.hidden), #login-panel:not(.hidden)').first() at helpers.ts:381 379 | await expect( 380 | page.locator('#language-panel:not(.hidden), #login-panel:not(.hidden)').first() > 381 | ).toBeAttached(); | ^ 382 | 383 | if (await page.locator('#language-panel').isVisible()) { 384 | await page.locator('#language-continue').click(); at goToLoginPage (/home/runner/work/OxiCloud/OxiCloud/tests/e2e/scenarios/helpers.ts:381:5) at loginAsAdmin (/home/runner/work/OxiCloud/OxiCloud/tests/e2e/scenarios/helpers.ts:359:3) at /home/runner/work/OxiCloud/OxiCloud/tests/e2e/scenarios/01-home-and-login.spec.ts:43:5
[chromium] › scenarios/01-home-and-login.spec.ts:26:5 › login with wrong password is rejected: tests/e2e/scenarios/helpers.ts#L381
2) [chromium] › scenarios/01-home-and-login.spec.ts:26:5 › login with wrong password is rejected ─ Error: expect(locator).toBeAttached() failed Locator: locator('#language-panel:not(.hidden), #login-panel:not(.hidden)').first() Expected: attached Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeAttached" with timeout 5000ms - waiting for locator('#language-panel:not(.hidden), #login-panel:not(.hidden)').first() at helpers.ts:381 379 | await expect( 380 | page.locator('#language-panel:not(.hidden), #login-panel:not(.hidden)').first() > 381 | ).toBeAttached(); | ^ 382 | 383 | if (await page.locator('#language-panel').isVisible()) { 384 | await page.locator('#language-continue').click(); at goToLoginPage (/home/runner/work/OxiCloud/OxiCloud/tests/e2e/scenarios/helpers.ts:381:5) at /home/runner/work/OxiCloud/OxiCloud/tests/e2e/scenarios/01-home-and-login.spec.ts:27:3
[chromium] › scenarios/01-home-and-login.spec.ts:9:5 › language selector > choose EN > reach login page: tests/e2e/scenarios/01-home-and-login.spec.ts#L12
1) [chromium] › scenarios/01-home-and-login.spec.ts:9:5 › language selector > choose EN > reach login page Error: expect(locator).toBeVisible() failed Locator: locator('#language-panel') Expected: visible Timeout: 5000ms Error: element(s) not found Call log: - Expect "toBeVisible" with timeout 5000ms - waiting for locator('#language-panel') 10 | await page.goto('/'); 11 | > 12 | await expect(page.locator('#language-panel')).toBeVisible(); | ^ 13 | await expect(page.getByText('Select your language to continue')).toBeVisible(); 14 | await expect(page.locator('#lang-picker-name')).toHaveText('English'); 15 | at /home/runner/work/OxiCloud/OxiCloud/tests/e2e/scenarios/01-home-and-login.spec.ts:12:49
changes
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, dorny/paths-filter@v3. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Rustfmt
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Clippy
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Security Audit
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, rustsec/audit-check@v2.0.0. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Security Audit
GitHub Actions are not allowed to use Check API, when executed for a forked repos. See https://github.com/actions-rs/clippy-check/issues/2 for details.
Security Audit
It seems that this Action is executed from the forked repository.
Security Audit
2 warnings found!
Build
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
API & Webdav tests
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/download-artifact@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
API & Webdav tests
No files were found with the provided path: tests/api/storage/. No artifacts will be uploaded.
Frontend end-to-end tests (via Playwright)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/download-artifact@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
🎭 Playwright Run Summary
11 failed [chromium] › scenarios/01-home-and-login.spec.ts:9:5 › language selector > choose EN > reach login page [chromium] › scenarios/01-home-and-login.spec.ts:26:5 › login with wrong password is rejected ── [chromium] › scenarios/01-home-and-login.spec.ts:46:7 › authenticated as admin › home page shows empty files list [chromium] › scenarios/01-home-and-login.spec.ts:59:7 › authenticated as admin › theme can be changed to dark [chromium] › scenarios/02-folder-management.spec.ts:75:7 › Folder management › folder creation ─ [chromium] › scenarios/02-folder-management.spec.ts:94:7 › Folder management › folder reject if already exists [chromium] › scenarios/02-folder-management.spec.ts:111:7 › Folder management › folder creation rejected if bad name [chromium] › scenarios/02-folder-management.spec.ts:124:7 › Folder management › folder rename ── [chromium] › scenarios/02-folder-management.spec.ts:161:7 › Folder management › upload of multiple files [chromium] › scenarios/02-folder-management.spec.ts:178:7 › Folder management › uploaded files rendered with thumbnails [chromium] › scenarios/02-folder-management.spec.ts:205:7 › Folder management › drag and drop images onto dropzone 1 passed (1.2m)

Artifacts

Produced during runtime
Name Size Digest
oxicloud-release Expired
16.1 MB
sha256:e62c22f9d3035fed763b6de5e65645c5cd8d791cb6085c7a7dd3bde111d5eb0f
playwright-report
843 KB
sha256:09fd28a9d6394c88f8693fe45778a8ef7388db529be619f2b2d5a09459210f39