bench: add blob download read-ahead benchmark (read_prefetch sweep) #1153
ci.yml
on: pull_request
Build
11m 23s
changes
6s
Frontend — svelte-check, ESLint, Stylelint, Prettier
0s
Rustfmt
9s
Clippy
1m 26s
Wasm — fmt + clippy
0s
Wasm — release tests
0s
Plugins — fixtures + runtime tests
0s
Server Unit and Functionnal Tests
6m 55s
Security Audit
3m 16s
Frontend end-to-end tests (via Playwright)
2m 40s
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
|
|