Skip to content

feat(security+observability): domain-safe error handling + request correlation #69

feat(security+observability): domain-safe error handling + request correlation

feat(security+observability): domain-safe error handling + request correlation #69

Re-run triggered March 29, 2026 04:52
Status Failure
Total duration 5m 14s
Artifacts 1

ci.yml

on: pull_request
Install Dependencies
41s
Install Dependencies
ESLint
33s
ESLint
Prettier Format Check
17s
Prettier Format Check
TypeScript Type Check
27s
TypeScript Type Check
Unit Tests & Coverage
4m 18s
Unit Tests & Coverage
E2E Tests
0s
E2E Tests
CI Passed
3s
CI Passed
Fit to window
Zoom out
Zoom in

Annotations

23 errors and 15 warnings
Prettier Format Check
Process completed with exit code 2.
TypeScript Type Check: src/notifications/notifications.module.ts#L1
Duplicate identifier 'Module'.
TypeScript Type Check: src/graphql/services/query-complexity.service.ts#L254
Type 'unknown' is not assignable to type 'void'.
TypeScript Type Check: src/graphql/graphql.module.ts#L31
Type '(context: any) => any[]' is not assignable to type 'ValidationRule[]'.
TypeScript Type Check: src/common/modules/api-versioning.module.ts#L32
Cannot find module './api-version.interceptor' or its corresponding type declarations.
TypeScript Type Check: src/common/modules/api-versioning.module.ts#L31
Cannot find module './api-version.interceptor' or its corresponding type declarations.
TypeScript Type Check: src/common/modules/api-versioning.module.ts#L3
Cannot find module './api-version.interceptor' or its corresponding type declarations.
TypeScript Type Check: src/common/modules/api-versioning.module.ts#L2
Cannot find module './api-version.interceptor' or its corresponding type declarations.
TypeScript Type Check: src/common/interceptors/global-exception.filter.ts#L34
Object literal may only specify known properties, and 'correlationId' does not exist in type 'ApiError'.
TypeScript Type Check: src/audit-log/tests/audit-log.test.ts#L16
Property 'record' does not exist on type 'AuditLogService'.
TypeScript Type Check: src/audit-log/tests/audit-log.test.ts#L12
Expected 2 arguments, but got 1.
ESLint: src/audit-log/audit-log.module.ts#L12
Replace `⏎····TypeOrmModule.forFeature([AuditLog]),⏎····ConfigModule,⏎····ScheduleModule.forRoot(),⏎··` with `TypeOrmModule.forFeature([AuditLog]),·ConfigModule,·ScheduleModule.forRoot()`
ESLint: src/audit-log/audit-log.controller.ts#L151
Replace `⏎····@query('startDate')·startDate:·string,⏎····@query('endDate')·endDate:·string,⏎··` with `@Query('startDate')·startDate:·string,·@query('endDate')·endDate:·string`
ESLint: src/audit-log/audit-log.controller.ts#L130
Replace `·name:·'limit',·required:·false,·description:·'Number·of·logs·to·return',·type:·Number` with `⏎····name:·'limit',⏎····required:·false,⏎····description:·'Number·of·logs·to·return',⏎····type:·Number,⏎·`
ESLint: src/audit-log/audit-log.controller.ts#L117
Replace `·name:·'limit',·required:·false,·description:·'Number·of·logs·to·return',·type:·Number` with `⏎····name:·'limit',⏎····required:·false,⏎····description:·'Number·of·logs·to·return',⏎····type:·Number,⏎·`
ESLint: src/audit-log/audit-log.controller.ts#L104
Replace `·name:·'limit',·required:·false,·description:·'Number·of·logs·to·return',·type:·Number` with `⏎····name:·'limit',⏎····required:·false,⏎····description:·'Number·of·logs·to·return',⏎····type:·Number,⏎·`
ESLint: src/audit-log/audit-log.controller.ts#L93
Replace `·name:·'limit',·required:·false,·description:·'Number·of·logs·to·return',·type:·Number` with `⏎····name:·'limit',⏎····required:·false,⏎····description:·'Number·of·logs·to·return',⏎····type:·Number,⏎·`
ESLint: src/audit-log/audit-log.controller.ts#L37
Replace `·name:·'severities',·required:·false,·description:·'Filter·by·severities·(comma-separated)'` with `⏎····name:·'severities',⏎····required:·false,⏎····description:·'Filter·by·severities·(comma-separated)',⏎·`
ESLint: src/audit-log/audit-log.controller.ts#L36
Replace `·name:·'categories',·required:·false,·description:·'Filter·by·categories·(comma-separated)'` with `⏎····name:·'categories',⏎····required:·false,⏎····description:·'Filter·by·categories·(comma-separated)',⏎·`
ESLint: src/audit-log/audit-log.controller.ts#L35
Replace `·name:·'actions',·required:·false,·description:·'Filter·by·actions·(comma-separated)'` with `⏎····name:·'actions',⏎····required:·false,⏎····description:·'Filter·by·actions·(comma-separated)',⏎·`
ESLint: src/audit-log/audit-log.controller.ts#L15
Replace `·ApiTags,·ApiOperation,·ApiResponse,·ApiQuery,·ApiParam,·ApiBearerAuth·` with `⏎··ApiTags,⏎··ApiOperation,⏎··ApiResponse,⏎··ApiQuery,⏎··ApiParam,⏎··ApiBearerAuth,⏎`
Unit Tests & Coverage
Process completed with exit code 1.
CI Passed
Process completed with exit code 1.
Install Dependencies
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Prettier Format Check
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
TypeScript Type Check
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
ESLint
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
ESLint: src/common/modules/api-versioning.module.ts#L1
'RequestMethod' is defined but never used. Allowed unused vars must match /^_/u
ESLint: src/common/interceptors/api-version.interceptor.ts#L205
'parameterIndex' is defined but never used. Allowed unused args must match /^_/u
ESLint: src/common/interceptors/api-version.interceptor.ts#L205
'propertyKey' is defined but never used. Allowed unused args must match /^_/u
ESLint: src/common/interceptors/api-version.interceptor.ts#L205
'target' is defined but never used. Allowed unused args must match /^_/u
ESLint: src/collaboration/gateway/collaboration.gateway.ts#L11
'wsManager' is defined but never used. Allowed unused vars must match /^_/u
ESLint: src/cdn/cdn.controller.ts#L406
Unexpected string concatenation
ESLint: src/audit-log/audit-log.service.ts#L3
'WhereExpressionBuilder' is defined but never used. Allowed unused vars must match /^_/u
ESLint: src/audit-log/audit-log.service.ts#L3
'Brackets' is defined but never used. Allowed unused vars must match /^_/u
ESLint: src/audit-log/audit-log.service.ts#L3
'In' is defined but never used. Allowed unused vars must match /^_/u
ESLint: src/audit-log/audit-log.service.ts#L3
'LessThan' is defined but never used. Allowed unused vars must match /^_/u
Unit Tests & Coverage
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/

Artifacts

Produced during runtime
Name Size Digest
coverage-report Expired
2.3 MB
sha256:0cc3271b9e2925d216c45e95d7fc4c0559b71eaa3cddd2b5907ebe89711ee6e8