Skip to content

Use Svelte 5 without migration #1502

Use Svelte 5 without migration

Use Svelte 5 without migration #1502

Triggered via pull request December 3, 2024 03:57
Status Failure
Total duration 1h 0m 23s
Artifacts 3

develop-api.yaml

on: pull_request
Set Version
0s
Set Version
Build API  /  publish-api
4m 4s
Build API / publish-api
Deploy API  /  deploy
Deploy API / deploy
GHA integration tests  /  execute
55m 49s
GHA integration tests / execute
Matrix: Deploy API / verify-published
Waiting for pending jobs
Fit to window
Zoom out
Zoom in

Annotations

23 errors, 35 warnings, and 1 notice
frontend/src/lib/components/Projects/ProjectConfidentialityCombobox.svelte#L25
[@typescript-eslint/no-explicit-any] Unexpected any. Specify a different type.
frontend/src/lib/components/Users/CreateUserModal.svelte#L35
[@typescript-eslint/no-explicit-any] Unexpected any. Specify a different type.
frontend/src/lib/components/Users/CreateUserModal.svelte#L39
[@typescript-eslint/no-explicit-any] Unexpected any. Specify a different type.
frontend/src/lib/forms/Checkbox.svelte#L27
[@typescript-eslint/no-explicit-any] Unexpected any. Specify a different type.
frontend/src/lib/forms/FormError.svelte#L15
[@typescript-eslint/no-explicit-any] Unexpected any. Specify a different type.
frontend/src/lib/forms/FormField.svelte#L27
[@typescript-eslint/no-unused-expressions] Expected an assignment or function call and instead saw an expression.
frontend/src/lib/forms/FormField.svelte#L44
[@typescript-eslint/no-explicit-any] Unexpected any. Specify a different type.
frontend/src/lib/forms/RadioButtonGroup.svelte#L48
[@typescript-eslint/no-explicit-any] Unexpected any. Specify a different type.
frontend/src/lib/i18n/index.ts#L149
[@typescript-eslint/no-base-to-string] 'scope' may use Object's default stringification format ('[object Object]') when stringified.
frontend/src/routes/(authenticated)/project/[project_code]/OpenInFlexModal.svelte#L24
[@typescript-eslint/no-explicit-any] Unexpected any. Specify a different type.
frontend/src/routes/(authenticated)/project/create/+page.svelte#L293
[@typescript-eslint/no-explicit-any] Unexpected any. Specify a different type.
[firefox] › draftProject.test.ts:13:1 › Request and approve draft project: frontend/tests/utils/authHelpers.ts#L25
1) [firefox] › draftProject.test.ts:13:1 › Request and approve draft project ───────────────────── Error: apiRequestContext.get: Request timed out after 5000ms Call log: - → GET http://localhost:6579/api/user/currentUser - user-agent: Playwright Firefox - accept: */* - accept-encoding: gzip,deflate,br - cookie: .LexBoxAuth=*** at utils/authHelpers.ts:25 23 | 24 | export async function getCurrentUserId(api: APIRequestContext): Promise<UUID> { > 25 | const response = await api.get(`${serverBaseUrl}/api/user/currentUser`); | ^ 26 | const user = await response.json() as {sub: UUID}; 27 | expect(user).not.toBeNull(); 28 | return user.sub; at getCurrentUserId (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/utils/authHelpers.ts:25:30) at registerUser (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/utils/authHelpers.ts:36:24) at Object.tempUser (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/fixtures.ts:101:24)
[firefox] › draftProject.test.ts:13:1 › Request and approve draft project: frontend/tests/utils/authHelpers.ts#L15
1) [firefox] › draftProject.test.ts:13:1 › Request and approve draft project ───────────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: apiRequestContext.post: Request timed out after 5000ms Call log: - → POST http://localhost:6579/api/login - user-agent: Playwright Firefox - accept: */* - accept-encoding: gzip,deflate,br - content-type: application/json - content-length: 158 - cookie: .LexBoxAuth=*** at utils/authHelpers.ts:15 13 | preHashedPassword: false, 14 | } > 15 | const response = await api.post(`${serverBaseUrl}/api/login`, {data: loginData}); | ^ 16 | expect(response.ok()).toBeTruthy(); 17 | } 18 | at loginAs (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/utils/authHelpers.ts:15:30) at /home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/draftProject.test.ts:15:11 at /home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/draftProject.test.ts:14:40
[firefox] › draftProject.test.ts:13:1 › Request and approve draft project: frontend/tests/utils/gqlHelpers.ts#L16
1) [firefox] › draftProject.test.ts:13:1 › Request and approve draft project ───────────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: apiRequestContext.post: Request timed out after 5000ms Call log: - → POST http://localhost:6579/api/graphql - user-agent: Playwright Firefox - accept: */* - accept-encoding: gzip,deflate,br - content-type: application/json - content-length: 274 - cookie: .LexBoxAuth=*** at utils/gqlHelpers.ts:16 14 | 15 | export async function executeGql<T>(api: APIRequestContext, gql: string, expectError = false): Promise<T> { > 16 | const response = await api.post(`${serverBaseUrl}/api/graphql`, {data: {query: gql}}); | ^ 17 | await expect(response, `code was ${response.status()} (${response.statusText()})`).toBeOK(); 18 | const json = await response.json() as GqlResult; 19 | expect(json, `for query ${gql}`).not.toBeNull(); at executeGql (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/utils/gqlHelpers.ts:16:30) at deleteUser (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/utils/authHelpers.ts:41:10) at Object.tempUser (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/fixtures.ts:112:11)
[firefox] › emailWorkflow.test.ts:27:1 › register: frontend/tests/utils/authHelpers.ts#L15
2) [firefox] › emailWorkflow.test.ts:27:1 › register, verify, update, verify email address ─────── Error: apiRequestContext.post: Request timed out after 5000ms Call log: - → POST http://localhost:6579/api/login - user-agent: Playwright Firefox - accept: */* - accept-encoding: gzip,deflate,br - content-type: application/json - content-length: 158 - cookie: .LexBoxAuth=*** at utils/authHelpers.ts:15 13 | preHashedPassword: false, 14 | } > 15 | const response = await api.post(`${serverBaseUrl}/api/login`, {data: loginData}); | ^ 16 | expect(response.ok()).toBeTruthy(); 17 | } 18 | at loginAs (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/utils/authHelpers.ts:15:30) at /home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/emailWorkflow.test.ts:29:9
[firefox] › emailWorkflow.test.ts:27:1 › register: frontend/tests/utils/gqlHelpers.ts#L16
2) [firefox] › emailWorkflow.test.ts:27:1 › register, verify, update, verify email address ─────── Error: apiRequestContext.post: Request timed out after 5000ms Call log: - → POST http://localhost:6579/api/graphql - user-agent: Playwright Firefox - accept: */* - accept-encoding: gzip,deflate,br - content-type: application/json - content-length: 274 - cookie: .LexBoxAuth=*** at utils/gqlHelpers.ts:16 14 | 15 | export async function executeGql<T>(api: APIRequestContext, gql: string, expectError = false): Promise<T> { > 16 | const response = await api.post(`${serverBaseUrl}/api/graphql`, {data: {query: gql}}); | ^ 17 | await expect(response, `code was ${response.status()} (${response.statusText()})`).toBeOK(); 18 | const json = await response.json() as GqlResult; 19 | expect(json, `for query ${gql}`).not.toBeNull(); at executeGql (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/utils/gqlHelpers.ts:16:30) at deleteUser (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/utils/authHelpers.ts:41:10) at Object.tempUser (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/fixtures.ts:112:11)
[firefox] › emailWorkflow.test.ts:27:1 › register: frontend/tests/utils/authHelpers.ts#L25
2) [firefox] › emailWorkflow.test.ts:27:1 › register, verify, update, verify email address ─────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: apiRequestContext.get: Request timed out after 5000ms Call log: - → GET http://localhost:6579/api/user/currentUser - user-agent: Playwright Firefox - accept: */* - accept-encoding: gzip,deflate,br - cookie: .LexBoxAuth=*** at utils/authHelpers.ts:25 23 | 24 | export async function getCurrentUserId(api: APIRequestContext): Promise<UUID> { > 25 | const response = await api.get(`${serverBaseUrl}/api/user/currentUser`); | ^ 26 | const user = await response.json() as {sub: UUID}; 27 | expect(user).not.toBeNull(); 28 | return user.sub; at getCurrentUserId (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/utils/authHelpers.ts:25:30) at registerUser (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/utils/authHelpers.ts:36:24) at Object.tempUser (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/fixtures.ts:101:24)
[firefox] › emailWorkflow.test.ts:110:1 › register via new-user invitation email: frontend/tests/utils/authHelpers.ts#L25
3) [firefox] › emailWorkflow.test.ts:110:1 › register via new-user invitation email ────────────── Error: apiRequestContext.get: Request timed out after 5000ms Call log: - → GET http://localhost:6579/api/user/currentUser - user-agent: Playwright Firefox - accept: */* - accept-encoding: gzip,deflate,br - cookie: .LexBoxAuth=*** at utils/authHelpers.ts:25 23 | 24 | export async function getCurrentUserId(api: APIRequestContext): Promise<UUID> { > 25 | const response = await api.get(`${serverBaseUrl}/api/user/currentUser`); | ^ 26 | const user = await response.json() as {sub: UUID}; 27 | expect(user).not.toBeNull(); 28 | return user.sub; at getCurrentUserId (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/utils/authHelpers.ts:25:30) at /home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/emailWorkflow.test.ts:149:24
[firefox] › emailWorkflow.test.ts:110:1 › register via new-user invitation email: frontend/tests/emailWorkflow.test.ts#L1
3) [firefox] › emailWorkflow.test.ts:110:1 › register via new-user invitation email ────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Test timeout of 80000ms exceeded.
[firefox] › emailWorkflow.test.ts:110:1 › register via new-user invitation email: frontend/tests/pages/basePage.ts#L34
3) [firefox] › emailWorkflow.test.ts:110:1 › register via new-user invitation email ────────────── Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: page.goto: Test timeout of 80000ms exceeded. Call log: - navigating to "http://localhost:6579/admin", waiting until "load" at pages/basePage.ts:34 32 | } 33 | > 34 | const response = await this.page.goto(this.url + (urlEnd ?? '')); | ^ 35 | // response is null if same URL, but different hash - and that's okay 36 | if (response) { 37 | if (expectErrorResponse) { at AdminDashboardPage.goto (/home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/pages/basePage.ts:34:38) at /home/runner/work/languageforge-lexbox/languageforge-lexbox/frontend/tests/emailWorkflow.test.ts:114:56
[firefox] › errorHandling.test.ts:13:1 › can catch 500 errors from goto in same tab: frontend/tests/errorHandling.test.ts#L1
4) [firefox] › errorHandling.test.ts:13:1 › can catch 500 errors from goto in same tab ─────────── Test timeout of 40000ms exceeded.
GHA integration tests / execute
Process completed with exit code 1.
GHA integration tests / execute
Process completed with exit code 1.
Set Version
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
Build API / publish-api
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
Build API / publish-api: backend/FwLite/MiniLcm/SyncHelpers/WritingSystemSync.cs#L21
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
Build API / publish-api: backend/SyncReverseProxy/ProxyKernel.cs#L121
'ActivityExtensions.RecordException(Activity?, Exception?)' is obsolete: 'Call Activity.AddException instead this method will be removed in a future version.'
Build API / publish-api: backend/LexData/SeedingData.cs#L18
Parameter 'logger' is unread.
Build API / publish-api: backend/LexBoxApi/Auth/LoggedInContext.cs#L24
'ActivityExtensions.RecordException(Activity?, Exception?)' is obsolete: 'Call Activity.AddException instead this method will be removed in a future version.'
Build API / publish-api: backend/LexBoxApi/Auth/JwtTicketDataFormat.cs#L122
'JwtBearerOptions.SecurityTokenValidators' is obsolete: 'SecurityTokenValidators is no longer used by default. Use TokenHandlers instead. To continue using SecurityTokenValidators, set UseSecurityTokenValidators to true. See https://aka.ms/aspnetcore8/security-token-changes'
Build API / publish-api: backend/LexBoxApi/Hub/CrdtProjectChangeHub.cs#L8
Parameter 'loggedInContext' is unread.
Build API / publish-api: backend/LexBoxApi/Jobs/LexJob.cs#L45
'ActivityExtensions.RecordException(Activity?, Exception?)' is obsolete: 'Call Activity.AddException instead this method will be removed in a future version.'
Build API / publish-api: backend/LexBoxApi/Services/EmailService.cs#L238
'ActivityExtensions.RecordException(Activity?, Exception?)' is obsolete: 'Call Activity.AddException instead this method will be removed in a future version.'
Build API / publish-api: backend/LexBoxApi/Services/HgService.cs#L459
The switch expression does not handle some values of its input type (it is not exhaustive) involving an unnamed enum value. For example, the pattern '(LexBoxApi.Services.RepoEmptyState)2' is not covered.
Build API / publish-api: backend/LexBoxApi/Controllers/IntegrationController.cs#L62
Action method returns undeclared status code '404'
Build API / publish-api
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
Build API / publish-api
'ActivityExtensions.RecordException(Activity?, Exception?)' is obsolete: 'Call Activity.AddException instead this method will be removed in a future version.'
Build API / publish-api
Parameter 'logger' is unread.
Build API / publish-api
'ActivityExtensions.RecordException(Activity?, Exception?)' is obsolete: 'Call Activity.AddException instead this method will be removed in a future version.'
Build API / publish-api
Parameter 'loggedInContext' is unread.
Build API / publish-api
Parameter 'lexAuthService' is unread.
Build API / publish-api
Parameter 'lexBoxDbContext' is unread.
Build API / publish-api
'ActivityExtensions.RecordException(Activity?, Exception?)' is obsolete: 'Call Activity.AddException instead this method will be removed in a future version.'
Build API / publish-api
'JwtBearerOptions.SecurityTokenValidators' is obsolete: 'SecurityTokenValidators is no longer used by default. Use TokenHandlers instead. To continue using SecurityTokenValidators, set UseSecurityTokenValidators to true. See https://aka.ms/aspnetcore8/security-token-changes'
Build API / publish-api
'ActivityExtensions.RecordException(Activity?, Exception?)' is obsolete: 'Call Activity.AddException instead this method will be removed in a future version.'
Slow Test: frontend/[firefox] › button.test.ts#L1
frontend/[firefox] › button.test.ts took 34.2s
Slow Test: frontend/[chromium] › errorHandling.test.ts#L1
frontend/[chromium] › errorHandling.test.ts took 20.7s
Slow Test: frontend/[chromium] › emailWorkflow.test.ts#L1
frontend/[chromium] › emailWorkflow.test.ts took 18.0s
GHA integration tests / execute: backend/FwLite/MiniLcm/SyncHelpers/WritingSystemSync.cs#L21
This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
GHA integration tests / execute: backend/SyncReverseProxy/ProxyKernel.cs#L121
'ActivityExtensions.RecordException(Activity?, Exception?)' is obsolete: 'Call Activity.AddException instead this method will be removed in a future version.'
GHA integration tests / execute: backend/LexData/SeedingData.cs#L18
Parameter 'logger' is unread.
GHA integration tests / execute: backend/LexBoxApi/Hub/CrdtProjectChangeHub.cs#L8
Parameter 'loggedInContext' is unread.
GHA integration tests / execute: backend/LexBoxApi/Auth/JwtTicketDataFormat.cs#L122
'JwtBearerOptions.SecurityTokenValidators' is obsolete: 'SecurityTokenValidators is no longer used by default. Use TokenHandlers instead. To continue using SecurityTokenValidators, set UseSecurityTokenValidators to true. See https://aka.ms/aspnetcore8/security-token-changes'
GHA integration tests / execute: backend/LexBoxApi/Jobs/LexJob.cs#L45
'ActivityExtensions.RecordException(Activity?, Exception?)' is obsolete: 'Call Activity.AddException instead this method will be removed in a future version.'
GHA integration tests / execute: backend/LexBoxApi/Auth/LoggedInContext.cs#L24
'ActivityExtensions.RecordException(Activity?, Exception?)' is obsolete: 'Call Activity.AddException instead this method will be removed in a future version.'
GHA integration tests / execute: backend/LexBoxApi/Services/EmailService.cs#L238
'ActivityExtensions.RecordException(Activity?, Exception?)' is obsolete: 'Call Activity.AddException instead this method will be removed in a future version.'
GHA integration tests / execute: backend/LexBoxApi/Services/HgService.cs#L459
The switch expression does not handle some values of its input type (it is not exhaustive) involving an unnamed enum value. For example, the pattern '(LexBoxApi.Services.RepoEmptyState)2' is not covered.
GHA integration tests / execute: backend/LexBoxApi/Controllers/IntegrationController.cs#L62
Action method returns undeclared status code '404'
🎭 Playwright Run Summary
30 failed [firefox] › draftProject.test.ts:13:1 › Request and approve draft project ────────────────────── [firefox] › emailWorkflow.test.ts:27:1 › register, verify, update, verify email address ──────── [firefox] › emailWorkflow.test.ts:110:1 › register via new-user invitation email ─────────────── [firefox] › errorHandling.test.ts:13:1 › can catch 500 errors from goto in same tab ──────────── [firefox] › errorHandling.test.ts:23:1 › can catch 500 errors from goto in new tab ───────────── [firefox] › errorHandling.test.ts:32:1 › can catch 500 errors in page load ───────────────────── [firefox] › errorHandling.test.ts:39:1 › page load 500 lands on new page ─────────────────────── [firefox] › errorHandling.test.ts:49:1 › catch fetch 500 and error dialog ────────────────────── [firefox] › errorHandling.test.ts:60:1 › client-side gql 500 does not break the application ──── [firefox] › errorHandling.test.ts:74:1 › server-side gql 500 does not kill the server ────────── [firefox] › errorHandling.test.ts:83:1 › server page load 401 is redirected to login ─────────── [firefox] › errorHandling.test.ts:90:1 › client page load 401 is redirected to login ─────────── [firefox] › errorHandling.test.ts:105:1 › can catch 403 errors from goto in same tab ─────────── [firefox] › errorHandling.test.ts:115:1 › can catch 403 errors from goto in new tab ──────────── [firefox] › errorHandling.test.ts:124:1 › page load 403 is redirected to home ────────────────── [firefox] › errorHandling.test.ts:131:1 › page load 403 in new tab is redirected to home ─────── [firefox] › errorHandling.test.ts:140:1 › page load 403 on home page is redirected to login ──── [firefox] › errorHandling.test.ts:174:1 › node survives corrupt jwt ──────────────────────────── [firefox] › i18n.test.ts:6:1 › server-side locale does not leak ──────────────────────────────── [firefox] › i18n.test.ts:30:1 › late subscription to locale works ────────────────────────────── [firefox] › loginPage.test.ts:7:1 › can log in ───────────────────────────────────────────────── [firefox] › loginPage.test.ts:14:1 › show error without username ─────────────────────────────── [firefox] › loginPage.test.ts:23:1 › can log in after error ──────────────────────────────────── [firefox] › loginPage.test.ts:40:1 › after login user is sent to original page ───────────────── [firefox] › managerPage.test.ts:6:1 › display dashboard, then project page ───────────────────── [firefox] › recreateProject.test.ts:10:1 › delete and recreate project ───────────────────────── [firefox] › resetProject.test.ts:20:1 › reset project and upload .zip file ───────────────────── [firefox] › userPage.test.ts:10:1 › can update account info ──────────────────────────────────── [firefox] › userPage.test.ts:21:1 › display form errors on invalid data ──────────────────────── [firefox] › userPage.test.ts:30:1 › can reset password ───────────────────────────────────────── 1 skipped 37 passed (37.4m)

Artifacts

Produced during runtime
Name Size
dotnet-unit-test-results
3.82 KB
k8s-logs
662 KB
playwright-traces
112 MB