auto-generated · daily
NX workspace report.
Node 24.18.0 · Nx 23.1.0 · pnpm 11.15.0 on linux-x64.
Last generated 2026-08-01T04:21:30Z.
24.18.0Node
23.1.0Nx
11.15.0pnpm
linux-x64OS
Workspace
Report insights
Lines of code
0
0 languages
Source files
0
Tests passing
651
69 files
Nx cache
0.00 B
of 14.43 GB
Top 15 languages by code volume
No LOC data available.
Coverage by package
devops75.9%
Statements79.1%
Branches72.6%
Functions72.2%
Lines79.7%
droid22.5%
Statements25.6%
Branches18.4%
Functions20.1%
Lines26.1%
khashvault69.7%
Statements75.4%
Branches44.2%
Functions80.5%
Lines78.9%
laser71.7%
Statements76.1%
Branches58.0%
Functions75.4%
Lines77.3%
Nx plugins
Built-in (18)
nx23.1.0@nx/js23.1.0@nx/eslint23.1.0@nx/workspace23.1.0@nx/jest23.1.0@nx/devkit23.1.0@nx/esbuild23.1.0@nx/eslint-plugin23.1.0@nx/module-federation23.1.0@nx/node23.1.0@nx/playwright23.1.0@nx/react23.1.0@nx/rollup23.1.0@nx/vite23.1.0@nx/vitest23.1.0@nx/web23.1.0@nx/webpack23.1.0@nx/docker23.1.0
Raw output
NX Report
Section titled “NX Report”Already up to dateDone in 451ms using pnpm v11.15.0Already up to dateDone in 443ms using pnpm v11.15.0
NX Report complete - copy this into the issue template
Node : 24.18.0OS : linux-x64Native Target : x86_64-linuxpnpm : 11.15.0daemon : Disabled
nx : 23.1.0@nx/js : 23.1.0@nx/eslint : 23.1.0@nx/workspace : 23.1.0@nx/jest : 23.1.0@nx/devkit : 23.1.0@nx/esbuild : 23.1.0@nx/eslint-plugin : 23.1.0@nx/module-federation : 23.1.0@nx/node : 23.1.0@nx/playwright : 23.1.0@nx/react : 23.1.0@nx/rollup : 23.1.0@nx/vite : 23.1.0@nx/vitest : 23.1.0@nx/web : 23.1.0@nx/webpack : 23.1.0@nx/docker : 23.1.0typescript : 6.0.3---------------------------------------Registered Plugins:@nxlv/python@monodon/rust@nx/eslint/plugin@nx/vite/plugin@nx/vitest---------------------------------------Community plugins:@monodon/rust : 3.0.0@nx-tools/nx-container : 7.2.3@nxlv/python : 22.2.1---------------------------------------Cache Usage: 0.00 B / 14.43 GB
The `nxViteTsPaths` plugin from `@nx/vite/plugins/nx-tsconfig-paths.plugin` is deprecated and will be removed in Nx v24. Replace it with `tsconfigPaths()` from the `vite-tsconfig-paths` package. See https://nx.dev/docs/technologies/build-tools/vite/guides/configure-vite for details.Both esbuild and oxc options were set. oxc options will be used and esbuild options will be ignored. The following esbuild options were set: `{ keepNames: true }`The `nxViteTsPaths` plugin from `@nx/vite/plugins/nx-tsconfig-paths.plugin` is deprecated and will be removed in Nx v24. Replace it with `tsconfigPaths()` from the `vite-tsconfig-paths` package. See https://nx.dev/docs/technologies/build-tools/vite/guides/configure-vite for details.The `nxCopyAssetsPlugin` plugin from `@nx/vite/plugins/nx-copy-assets.plugin` is deprecated and will be removed in Nx v24. Use Vite's native `publicDir` option or the `vite-plugin-static-copy` package instead. See https://nx.dev/docs/technologies/build-tools/vite/guides/configure-vite for details.Both esbuild and oxc options were set. oxc options will be used and esbuild options will be ignored. The following esbuild options were set: `{ keepNames: true }`Both esbuild and oxc options were set. oxc options will be used and esbuild options will be ignored. The following esbuild options were set: `{ keepNames: true }`The `nxCopyAssetsPlugin` plugin from `@nx/vite/plugins/nx-copy-assets.plugin` is deprecated and will be removed in Nx v24. Use Vite's native `publicDir` option or the `vite-plugin-static-copy` package instead. See https://nx.dev/docs/technologies/build-tools/vite/guides/configure-vite for details.Both esbuild and oxc options were set. oxc options will be used and esbuild options will be ignored. The following esbuild options were set: `{ keepNames: true }`LOC Statistics
Section titled “LOC Statistics”github.com/AlDanial/cloc v 2.06 T=25.60 s (730.4 files/s, 163607.7 lines/s)----------------------------------------------------------------------------------Language files blank comment code----------------------------------------------------------------------------------JSON 463 133 0 1080651Markdown 9094 66701 33 774680TypeScript 2302 28583 18869 286930Python 1494 71655 95082 286310C 99 30420 91440 263961Rust 980 24649 27859 224807YAML 744 11212 3396 92527C# 835 13144 7176 79671C# Generated 6 3893 6270 67607C/C++ Header 544 15515 53432 63783SQL 273 8734 12187 59640Astro 346 5617 1822 59019JavaScript 193 5510 13527 50592C++ 326 5683 1416 34309XML 41 235 3 30299Cython 65 2810 1181 10796HLSL 95 1839 1924 9975Protocol Buffers 60 2024 4005 9458CSS 26 719 322 7576HTML 65 576 104 6517Bourne Shell 88 1171 1438 6488Lua 32 587 179 5528Java 70 884 1217 4445TOML 158 457 348 3150Dockerfile 54 887 1193 2861GLSL 24 452 1394 2847OpenCL 9 119 240 2109Kotlin 16 225 308 1612USS 2 96 170 1466Text 88 117 0 1355SVG 32 187 241 953WGSL 6 196 183 748INI 20 68 51 563Assembly 4 107 220 438Gradle 13 48 27 311UXML 9 53 11 275PowerShell 3 53 62 261DOS Batch 5 40 12 204Swift 2 34 7 193Elixir Script 1 31 22 132reStructuredText 2 2 0 107Fish Shell 1 20 34 73Nushell 1 11 28 65Unity-Prefab 1 0 0 61C Shell 1 14 27 35Nix 1 11 0 33Bourne Again Shell 1 9 11 30GDScript 1 5 1 27Ruby 1 3 0 21Properties 1 0 0 7Titanium Style Sheet 1 0 0 1----------------------------------------------------------------------------------SUM: 18699 305539 347472 3535507----------------------------------------------------------------------------------
One or more files took longer to process than expected.Try rerunning without timeout guards by adding --timeout 0to your command line arguments. See the documentation onthe --timeout switch for more information.
npm warn Unknown project config "strict-peer-dependencies". This will stop working in the next major version of npm. See `npm help npmrc` for supported config options.npm warn Unknown project config "auto-install-peers". This will stop working in the next major version of npm. See `npm help npmrc` for supported config options.npm warn Unknown project config "shamefully-hoist". This will stop working in the next major version of npm. See `npm help npmrc` for supported config options.npm warn Unknown project config "node-linker". This will stop working in the next major version of npm. See `npm help npmrc` for supported config options.npm warn Unknown project config "enable-pre-post-scripts". This will stop working in the next major version of npm. See `npm help npmrc` for supported config options.
3 errors:Line count, exceeded timeout: ./apps/kbve/astro-kbve/src/components/dashboard/ReactDeployPanel.tsxLine count, exceeded timeout: ./apps/kbve/astro-kbve/src/components/dashboard/ReactForgejoRepoAdmin.tsxLine count, exceeded timeout: ./apps/vm/firecracker-ctl/src/main.rsCoverage
Section titled “Coverage”Already up to dateDone in 439ms using pnpm v11.15.0Already up to dateDone in 438ms using pnpm v11.15.0
NX Running target coverage for 4 projects:
- droid- devops- khashvault- laser
::group::✅ > nx run devops:coverage
> vitest run --coverage --config packages/npm/devops/vite.config.ts
The `nxViteTsPaths` plugin from `@nx/vite/plugins/nx-tsconfig-paths.plugin` is deprecated and will be removed in Nx v24. Replace it with `tsconfigPaths()` from the `vite-tsconfig-paths` package. See https://nx.dev/docs/technologies/build-tools/vite/guides/configure-vite for details.The `nxCopyAssetsPlugin` plugin from `@nx/vite/plugins/nx-copy-assets.plugin` is deprecated and will be removed in Nx v24. Use Vite's native `publicDir` option or the `vite-plugin-static-copy` package instead. See https://nx.dev/docs/technologies/build-tools/vite/guides/configure-vite for details.
RUN v4.0.9 /home/runner/work/kbve/kbve/packages/npm/devops Coverage enabled with v8
✓ src/lib/codegen/__tests__/field-mapper.spec.ts (46 tests) 59ms ✓ src/lib/codegen/__tests__/emitter.spec.ts (19 tests) 68ms ✓ src/lib/client/github/ci-failure.spec.ts (29 tests) 107ms ✓ src/lib/codegen/__tests__/enum-mapper.spec.ts (22 tests) 56msstderr | src/lib/client/github/issues.spec.ts > issues.createComment > should throw when API call failsError creating issue comment: Error: API Error at /home/runner/work/kbve/kbve/packages/npm/devops/src/lib/client/github/issues.spec.ts:63:23 at file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:157:11 at file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:753:26 at file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1636:20 at new Promise (<anonymous>) at runWithTimeout (file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1602:10) at runTest (file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1309:12) at processTicksAndRejections (node:internal/process/task_queues:104:5) at runSuite (file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1468:8) at runSuite (file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1468:8)
stdout | src/lib/client/github/issues.spec.ts > issues.verifyMatrixLabel > should add label 0 when no matrix labels are presentNo matrix labels present. Added label: 0
stdout | src/lib/client/github/issues.spec.ts > issues.verifyMatrixLabel > should keep highest label and remove lower ones when multiple matrix labels existRemoved lower labels, kept highest label: 5
✓ src/lib/client/github/issues.spec.ts (18 tests) 80ms ✓ src/lib/codegen/__tests__/topo-sort.spec.ts (15 tests) 106msstdout | src/lib/client/github/pulls.spec.ts > pulls.createOrUpdatePR > should create a new PR when none existsGitHub Event Name: undefinedUsing github.ref: feature-branch
stdout | src/lib/client/github/pulls.spec.ts > pulls.createOrUpdatePR > should create a new PR when none existsPull request created from feature-branch to main
stdout | src/lib/client/github/pulls.spec.ts > pulls.createOrUpdatePR > should add comment when PR already existsGitHub Event Name: undefinedUsing github.ref: feature-branch
stdout | src/lib/client/github/pulls.spec.ts > pulls.createOrUpdatePR > should add comment when PR already existsPull request from feature-branch to main already exists. Comment added.
stdout | src/lib/client/github/pulls.spec.ts > pulls.createOrUpdatePR > should use context.payload.pull_request.head.ref when github.ref is not availableGitHub Event Name: undefinedUsing context.payload.pull_request.head.ref: pr-branch
stdout | src/lib/client/github/pulls.spec.ts > pulls.createOrUpdatePR > should use context.payload.pull_request.head.ref when github.ref is not availablePull request created from pr-branch to main
stdout | src/lib/client/github/pulls.spec.ts > pulls.createOrUpdatePR > should fall back to context.ref when github.ref and payload are unavailableGitHub Event Name: undefinedUsing context.ref: fallback-branch
stdout | src/lib/client/github/pulls.spec.ts > pulls.createOrUpdatePR > should fall back to context.ref when github.ref and payload are unavailablePull request created from fallback-branch to main
stdout | src/lib/client/github/pulls.spec.ts > pulls.createOrUpdatePR > should throw when no branch can be determinedGitHub Event Name: undefined
stderr | src/lib/client/github/pulls.spec.ts > pulls.createOrUpdatePR > should throw when no branch can be determinedUnable to determine the reference branch.Error creating or updating pull request: Error: Unable to determine the reference branch. at Object.createOrUpdatePR (/home/runner/work/kbve/kbve/packages/npm/devops/src/lib/client/github/pulls.ts:224:10) at /home/runner/work/kbve/kbve/packages/npm/devops/src/lib/client/github/pulls.spec.ts:221:10 at file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:157:11 at file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:753:26 at file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1636:20 at new Promise (<anonymous>) at runWithTimeout (file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1602:10) at runTest (file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1309:12) at processTicksAndRejections (node:internal/process/task_queues:104:5) at runSuite (file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1468:8)
✓ src/lib/client/github/pulls.spec.ts (10 tests) 81ms ✓ src/lib/sanitization.spec.ts (54 tests) 673ms ✓ should convert markdown to JSON-safe string 424msstderr | src/lib/client/github/docker.spec.ts > docker.runContainer > should throw on invalid portError sanitizing input: Error: Invalid port number. Port must be a number between 1 and 65535. at sanitizePort (/home/runner/work/kbve/kbve/packages/npm/devops/src/lib/sanitization.ts:137:9) at Object.runContainer (/home/runner/work/kbve/kbve/packages/npm/devops/src/lib/client/github/docker.ts:25:19) at /home/runner/work/kbve/kbve/packages/npm/devops/src/lib/client/github/docker.spec.ts:63:11 at file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:157:11 at file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:753:26 at file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1636:20 at new Promise (<anonymous>) at runWithTimeout (file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1602:10) at runTest (file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1309:12) at processTicksAndRejections (node:internal/process/task_queues:104:5)
stderr | src/lib/client/github/docker.spec.ts > docker.runContainer > should throw on restricted portError sanitizing input: Error: Port 443 is restricted and cannot be used. at sanitizePort (/home/runner/work/kbve/kbve/packages/npm/devops/src/lib/sanitization.ts:143:9) at Object.runContainer (/home/runner/work/kbve/kbve/packages/npm/devops/src/lib/client/github/docker.ts:25:19) at /home/runner/work/kbve/kbve/packages/npm/devops/src/lib/client/github/docker.spec.ts:78:11 at file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:157:11 at file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:753:26 at file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1636:20 at new Promise (<anonymous>) at runWithTimeout (file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1602:10) at runTest (file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1309:12) at processTicksAndRejections (node:internal/process/task_queues:104:5)
stderr | src/lib/client/github/docker.spec.ts > docker.runContainer > should throw on empty container nameError sanitizing input: Error: Invalid container name. Container name must be alphanumeric and can include underscores. at sanitizeContainerName (/home/runner/work/kbve/kbve/packages/npm/devops/src/lib/sanitization.ts:158:9) at Object.runContainer (/home/runner/work/kbve/kbve/packages/npm/devops/src/lib/client/github/docker.ts:26:19) at /home/runner/work/kbve/kbve/packages/npm/devops/src/lib/client/github/docker.spec.ts:93:11 at file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:157:11 at file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:753:26 at file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1636:20 at new Promise (<anonymous>) at runWithTimeout (file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1602:10) at runTest (file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1309:12) at processTicksAndRejections (node:internal/process/task_queues:104:5)
stderr | src/lib/client/github/docker.spec.ts > docker.runContainer > should throw on empty image nameError sanitizing input: Error: Invalid container image name. Image name must be alphanumeric and can include underscores, slashes, colons, and periods. at sanitizeContainerImage (/home/runner/work/kbve/kbve/packages/npm/devops/src/lib/sanitization.ts:175:9) at Object.runContainer (/home/runner/work/kbve/kbve/packages/npm/devops/src/lib/client/github/docker.ts:27:20) at /home/runner/work/kbve/kbve/packages/npm/devops/src/lib/client/github/docker.spec.ts:102:11 at file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:157:11 at file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:753:26 at file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1636:20 at new Promise (<anonymous>) at runWithTimeout (file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1602:10) at runTest (file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1309:12) at processTicksAndRejections (node:internal/process/task_queues:104:5)
stdout | src/lib/client/github/docker.spec.ts > docker.runContainer > should succeed with valid inputs when exec succeedsDocker container started successfully: container-id-123
stderr | src/lib/client/github/docker.spec.ts > docker.runContainer > should report error and throw when exec failsError running Docker container: Error: Docker not found at /home/runner/work/kbve/kbve/packages/npm/devops/src/lib/client/github/docker.spec.ts:136:35 at file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:157:11 at file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:753:26 at file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1636:20 at new Promise (<anonymous>) at runWithTimeout (file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1602:10) at runTest (file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1309:12) at processTicksAndRejections (node:internal/process/task_queues:104:5) at runSuite (file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1468:8) at runSuite (file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1468:8)
stderr | src/lib/client/github/docker.spec.ts > docker.stopContainer > should throw on invalid container nameError sanitizing container name: Error: Invalid container name. Container name must be alphanumeric and can include underscores. at sanitizeContainerName (/home/runner/work/kbve/kbve/packages/npm/devops/src/lib/sanitization.ts:158:9) at Object.stopContainer (/home/runner/work/kbve/kbve/packages/npm/devops/src/lib/client/github/docker.ts:70:19) at /home/runner/work/kbve/kbve/packages/npm/devops/src/lib/client/github/docker.spec.ts:168:11 at file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:157:11 at file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:753:26 at file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1636:20 at new Promise (<anonymous>) at runWithTimeout (file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1602:10) at runTest (file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1309:12) at processTicksAndRejections (node:internal/process/task_queues:104:5)
stdout | src/lib/client/github/docker.spec.ts > docker.stopContainer > should succeed when both stop and remove succeedDocker container stopped successfully: ok
stdout | src/lib/client/github/docker.spec.ts > docker.stopContainer > should succeed when both stop and remove succeedDocker container removed successfully: ok
stderr | src/lib/client/github/docker.spec.ts > docker.stopContainer > should throw when stop command failsError stopping Docker container: Error: Container not running at /home/runner/work/kbve/kbve/packages/npm/devops/src/lib/client/github/docker.spec.ts:191:35 at file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:157:11 at file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:753:26 at file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1636:20 at new Promise (<anonymous>) at runWithTimeout (file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1602:10) at runTest (file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1309:12) at processTicksAndRejections (node:internal/process/task_queues:104:5) at runSuite (file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1468:8) at runSuite (file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1468:8)
stdout | src/lib/client/github/docker.spec.ts > docker.stopContainer > should throw when stop succeeds but remove failsDocker container stopped successfully: stopped
stderr | src/lib/client/github/docker.spec.ts > docker.stopContainer > should throw when stop succeeds but remove failsError removing Docker container: Error: Remove failed at /home/runner/work/kbve/kbve/packages/npm/devops/src/lib/client/github/docker.spec.ts:203:27 at file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:157:11 at file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:753:26 at file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1636:20 at new Promise (<anonymous>) at runWithTimeout (file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1602:10) at runTest (file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1309:12) at processTicksAndRejections (node:internal/process/task_queues:104:5) at runSuite (file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1468:8) at runSuite (file:///home/runner/work/kbve/kbve/node_modules/.pnpm/@[email protected]/node_modules/@vitest/runner/dist/index.js:1468:8)
✓ src/lib/client/github/docker.spec.ts (11 tests) 127ms ✓ src/lib/client/github/actions.spec.ts (10 tests) 27msstderr | src/lib/client/yt.spec.ts > fetchYoutubeTitle > should return null for an invalid YouTube URLInvalid YouTube URL
stderr | src/lib/client/yt.spec.ts > fetchYoutubeTitle > should return null if the title is not foundNo valid video found on the page
✓ src/lib/codegen/__tests__/argocd-schema.spec.ts (6 tests) 38ms ✓ src/lib/client/github/retry.spec.ts (6 tests) 19ms ✓ src/lib/client/yt.spec.ts (10 tests) 760ms ✓ should return the title of the YouTube video 708ms ✓ src/lib/ci/manifest.spec.ts (4 tests) 30ms ✓ src/lib/api.spec.ts (5 tests) 500ms ✓ _message should sanitize message correctly 483ms ✓ src/lib/client/github/gha.spec.ts (3 tests) 13ms ✓ src/index.spec.ts (7 tests) 23ms ✓ src/lib/client/github/types.spec.ts (2 tests) 20ms
Test Files 18 passed (18) Tests 277 passed (277) Start at 04:22:43 Duration 12.49s (transform 1.65s, setup 0ms, collect 20.60s, tests 2.79s, environment 6ms, prepare 1.34s)
% Coverage report from v8-------------------|---------|----------|---------|---------|-------------------File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s-------------------|---------|----------|---------|---------|-------------------All files | 79.06 | 72.62 | 72.15 | 79.7 | src | 100 | 100 | 100 | 100 | index.ts | 0 | 0 | 0 | 0 | types.ts | 100 | 100 | 100 | 100 | src/lib | 77.01 | 81.81 | 93.75 | 76.82 | api.ts | 50 | 50 | 80 | 51.28 | ...52-153,170-213 sanitization.ts | 100 | 96.66 | 100 | 100 | 37 src/lib/ci | 75.3 | 62.06 | 53.33 | 77.63 | ...try-schema.ts | 100 | 100 | 100 | 100 | index.ts | 0 | 0 | 0 | 0 | manifest.ts | 81.25 | 66.66 | 100 | 80.43 | ...94,107,109,150 registry.ts | 15.38 | 0 | 0 | 20 | 528-550 src/lib/client | 85.18 | 78.94 | 100 | 85.18 | yt.ts | 85.18 | 78.94 | 100 | 85.18 | 24,48-51 .../client/github | 75.57 | 68.9 | 75.43 | 75.52 | actions.ts | 100 | 100 | 100 | 100 | ci-failure.ts | 98.05 | 89.65 | 100 | 97.98 | 279,282,285 docker.ts | 100 | 50 | 100 | 100 | 51-112 gha.ts | 100 | 100 | 100 | 100 | issues.ts | 73.33 | 100 | 100 | 72.6 | ...34-235,252-253 pulls.ts | 32.5 | 28.57 | 20 | 32.77 | ...28-229,284-377 retry.ts | 90.9 | 82.05 | 60 | 93.75 | 9,34 types.ts | 100 | 100 | 100 | 100 | ...ib/client/kbve | 8.57 | 9.67 | 16.66 | 10.71 | auth.ts | 0 | 0 | 0 | 0 | 36-47 client.ts | 100 | 100 | 100 | 100 | errors.ts | 0 | 0 | 0 | 0 | 34-99 index.ts | 0 | 0 | 0 | 0 | src/lib/codegen | 91.27 | 84.8 | 96.77 | 91.55 | emitter.ts | 94.39 | 83.92 | 100 | 96.19 | 198-201 enum-mapper.ts | 100 | 96.77 | 100 | 100 | 29 field-mapper.ts | 85.84 | 83.14 | 91.66 | 85.18 | ...81,290,295,300 topo-sort.ts | 88 | 78.57 | 100 | 86.95 | 43-46,89-90 ...egen/__tests__ | 87.5 | 90.9 | 63.63 | 87.01 | ...-factories.ts | 87.5 | 90.9 | 63.63 | 87.01 | ...88,319,361,385 ...egen/generated | 100 | 100 | 100 | 100 | argocd-schema.ts | 100 | 100 | 100 | 100 | src/lib/forum | 100 | 100 | 100 | 100 | forum-schema.ts | 100 | 100 | 100 | 100 | index.ts | 0 | 0 | 0 | 0 | src/lib/telemetry | 23.8 | 0 | 0 | 25 | index.ts | 23.8 | 0 | 0 | 25 | 30-96 ...etry/generated | 100 | 100 | 100 | 100 | ...try-schema.ts | 100 | 100 | 100 | 100 |-------------------|---------|----------|---------|---------|-------------------::endgroup::::group::✅ > nx run droid:coverage
> vitest run --coverage --config packages/npm/droid/vite.config.ts
The `nxViteTsPaths` plugin from `@nx/vite/plugins/nx-tsconfig-paths.plugin` is deprecated and will be removed in Nx v24. Replace it with `tsconfigPaths()` from the `vite-tsconfig-paths` package. See https://nx.dev/docs/technologies/build-tools/vite/guides/configure-vite for details.The `nxCopyAssetsPlugin` plugin from `@nx/vite/plugins/nx-copy-assets.plugin` is deprecated and will be removed in Nx v24. Use Vite's native `publicDir` option or the `vite-plugin-static-copy` package instead. See https://nx.dev/docs/technologies/build-tools/vite/guides/configure-vite for details.
RUN v4.0.9 /home/runner/work/kbve/kbve/packages/npm/droid Coverage enabled with v8
✓ src/lib/sw-recovery.spec.ts (7 tests) 60ms ✓ src/lib/state/ui.spec.ts (16 tests) 77ms ✓ src/lib/workers/events.spec.ts (13 tests) 76ms ✓ src/lib/gateway/capabilities.spec.ts (10 tests) 16ms ✓ src/lib/types/event-schemas.spec.ts (17 tests) 18ms ✓ src/lib/types/bento.spec.ts (13 tests) 29ms ✓ src/lib/state/toasts.spec.ts (9 tests) 66ms ✓ src/lib/types/event-types.spec.ts (11 tests) 103ms ✓ src/lib/state/welcome-toast.spec.ts (7 tests) 71ms ✓ src/lib/state/bento.spec.ts (8 tests) 27ms ✓ src/lib/state/auth.spec.ts (5 tests) 23ms ✓ src/lib/workers/ws-worker.spec.ts (5 tests) 23ms ✓ src/lib/mod/module/supabase/mod-supabase.spec.ts (4 tests) 17msstdout | src/lib/droid.spec.ts > droid > should initialize and attach to window.kbve[DROID]: droid<T>
stdout | src/lib/droid.spec.ts > droid > should initialize and attach to window.kbve[DROID]: Main<T>[DROID] Initializing workers...
stdout | src/lib/droid.spec.ts > droid > should initialize and attach to window.kbve[init-worker] Initializing database...
stdout | src/lib/droid.spec.ts > droid > should initialize and attach to window.kbve[init-worker] DB initialized to version 1.0.3
stdout | src/lib/droid.spec.ts > droid > should initialize and attach to window.kbve[DROID] Initializing mod manager...
stdout | src/lib/droid.spec.ts > droid > should initialize and attach to window.kbve[KBVE] Global API ready
stdout | src/lib/droid.spec.ts > droid > should initialize and attach to window.kbve[DROID]: droid<T> => await WorkerRefs + URLs
✓ src/lib/droid.spec.ts (1 test) 584ms ✓ should initialize and attach to window.kbve 582ms
Test Files 14 passed (14) Tests 126 passed (126) Start at 04:22:44 Duration 19.76s (transform 1.49s, setup 1.80s, collect 4.42s, tests 1.19s, environment 32.73s, prepare 2.28s)
% Coverage report from v8-------------------|---------|----------|---------|---------|-------------------File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s-------------------|---------|----------|---------|---------|-------------------All files | 25.61 | 18.38 | 20.05 | 26.11 | lib | 80 | 71.42 | 71.42 | 80.35 | droid.ts | 63.63 | 50 | 33.33 | 63.63 | 32-43 sw-recovery.ts | 83.67 | 73.68 | 100 | 84.44 | ...08-115,136-137 lib/gateway | 6.46 | 21.35 | 6.15 | 6.66 | ...aseGateway.ts | 0 | 0 | 0 | 0 | 42-234 ...munication.ts | 2.38 | 0 | 0 | 2.38 | 18-116,128-131 WorkerPool.ts | 0 | 0 | 0 | 0 | 20-297 capabilities.ts | 93.33 | 73.33 | 100 | 93.33 | 11 ...way/strategies | 0 | 0 | 0 | 0 | ...ctStrategy.ts | 0 | 0 | 0 | 0 | 31-441 ...erStrategy.ts | 0 | 0 | 0 | 0 | 37-276 ...erStrategy.ts | 0 | 0 | 0 | 0 | 26-276 lib/mod | 20 | 10 | 16.66 | 22.72 | mod-manager.ts | 20 | 10 | 16.66 | 22.72 | 19-66 ...odule/supabase | 38.46 | 33.33 | 66.66 | 38.46 | mod-supabase.ts | 38.46 | 33.33 | 66.66 | 38.46 | 26-43,55-56,67-71 lib/state | 67.16 | 40.17 | 66.66 | 65.94 | auth.ts | 47.82 | 12.82 | 60 | 50 | ...-78,88-121,138 bento.ts | 100 | 100 | 100 | 100 | ...ay-manager.ts | 8.33 | 3.33 | 9.09 | 8.33 | 37-122 theme-sync.ts | 55 | 37.5 | 50 | 55 | 33-45,57-63 toasts.ts | 100 | 87.5 | 100 | 100 | 28 ui.ts | 100 | 100 | 100 | 100 | welcome-toast.ts | 100 | 93.75 | 100 | 100 | 59 lib/types | 100 | 100 | 100 | 100 | bento.ts | 100 | 100 | 100 | 100 | event-types.ts | 100 | 100 | 100 | 100 | jedi.ts | 100 | 100 | 100 | 100 | panel-types.ts | 100 | 100 | 100 | 100 | ...vent-types.ts | 100 | 100 | 100 | 100 | lib/workers | 22.71 | 12.67 | 19.72 | 23.45 | ...i-renderer.ts | 7.89 | 0 | 0 | 8.33 | 64-264 canvas-worker.ts | 10.71 | 0 | 0 | 10.9 | 44,58-188 data.ts | 1.12 | 0 | 0 | 1.12 | 11-221 db-worker.ts | 25.26 | 11.9 | 21.05 | 26.66 | ...89-192,203-258 events.ts | 100 | 83.33 | 100 | 100 | 28 flexbuilder.ts | 0 | 100 | 0 | 0 | 5 init.ts | 69.23 | 66.66 | 100 | 69.23 | 28-29,41,46 main.ts | 32.5 | 22.04 | 35.13 | 33.57 | ...30,744-746,751 ...-db-worker.ts | 0 | 0 | 0 | 0 | ...red-worker.ts | 0 | 0 | 0 | 0 | tools.ts | 0 | 0 | 0 | 0 | 4-59 ws-worker.ts | 17.5 | 5.17 | 5.88 | 18.1 | 59-287,294-------------------|---------|----------|---------|---------|-------------------::endgroup::::group::✅ > nx run khashvault:coverage
> vitest run --coverage --config packages/npm/khashvault/vite.config.ts
The `nxViteTsPaths` plugin from `@nx/vite/plugins/nx-tsconfig-paths.plugin` is deprecated and will be removed in Nx v24. Replace it with `tsconfigPaths()` from the `vite-tsconfig-paths` package. See https://nx.dev/docs/technologies/build-tools/vite/guides/configure-vite for details.The `nxCopyAssetsPlugin` plugin from `@nx/vite/plugins/nx-copy-assets.plugin` is deprecated and will be removed in Nx v24. Use Vite's native `publicDir` option or the `vite-plugin-static-copy` package instead. See https://nx.dev/docs/technologies/build-tools/vite/guides/configure-vite for details.
RUN v4.0.9 /home/runner/work/kbve/kbve/packages/npm/khashvault Coverage enabled with v8
✓ src/lib/pgp/pgp.spec.ts (4 tests) 410ms ✓ src/lib/aes/aes.spec.ts (7 tests) 808ms ✓ should encrypt and decrypt with a password 351ms ✓ should fail with wrong password 415ms ✓ src/lib/kdf/kdf.spec.ts (5 tests) 1621ms ✓ should derive a CryptoKey from a password 368ms ✓ should produce same key with same password and salt 440ms ✓ should produce different keys with different passwords 475ms ✓ should derive raw bits 332ms ✓ src/lib/storage/storage.spec.ts (7 tests) 52ms ✓ src/lib/storage/indexeddb.spec.ts (7 tests) 68ms ✓ src/lib/keys/keys.spec.ts (6 tests) 50ms ✓ src/lib/hash/hash.spec.ts (7 tests) 15ms ✓ src/lib/worker/worker.spec.ts (5 tests) 7ms
Test Files 8 passed (8) Tests 48 passed (48) Start at 04:23:00 Duration 5.33s (transform 472ms, setup 627ms, collect 860ms, tests 3.03s, environment 6.15s, prepare 559ms)
% Coverage report from v8-------------------|---------|----------|---------|---------|--------------------------------File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s-------------------|---------|----------|---------|---------|--------------------------------All files | 75.42 | 44.2 | 80.51 | 78.86 | lib | 62.5 | 50 | 58.82 | 60.52 | errors.ts | 36.84 | 100 | 33.33 | 36.84 | 13-24,37-52,65-66 utils.ts | 85.71 | 50 | 87.5 | 84.21 | 8,18,66 lib/aes | 83.33 | 40 | 100 | 90.9 | aes.ts | 83.33 | 40 | 100 | 90.9 | 37-38 lib/hash | 68.42 | 20 | 100 | 76.47 | hash.ts | 68.42 | 20 | 100 | 76.47 | 21-22,43-44 lib/kdf | 77.77 | 66.66 | 100 | 84 | kdf.ts | 77.77 | 66.66 | 100 | 84 | 47-48,85-86 lib/keys | 65.38 | 40 | 100 | 73.91 | keys.ts | 65.38 | 40 | 100 | 73.91 | 20-21,43-44,77-78 lib/pgp | 70.83 | 42.3 | 100 | 80.95 | pgp.ts | 70.83 | 42.3 | 100 | 80.95 | 32-33,58-59 lib/storage | 83.18 | 42.1 | 81.08 | 84.84 | indexeddb.ts | 83.33 | 40.9 | 75.86 | 84.28 | 34,55-63,89,97-105,118,133,144 storage.ts | 82.85 | 43.75 | 100 | 86.2 | 24-25,38-39 lib/worker | 70 | 33.33 | 80 | 70 | shared-buffer.ts | 70 | 33.33 | 80 | 70 | 20,44,77-80-------------------|---------|----------|---------|---------|--------------------------------::endgroup::::group::✅ > nx run laser:coverage
> vitest run --coverage --config packages/npm/laser/vite.config.ts
The `nxViteTsPaths` plugin from `@nx/vite/plugins/nx-tsconfig-paths.plugin` is deprecated and will be removed in Nx v24. Replace it with `tsconfigPaths()` from the `vite-tsconfig-paths` package. See https://nx.dev/docs/technologies/build-tools/vite/guides/configure-vite for details.The `nxCopyAssetsPlugin` plugin from `@nx/vite/plugins/nx-copy-assets.plugin` is deprecated and will be removed in Nx v24. Use Vite's native `publicDir` option or the `vite-plugin-static-copy` package instead. See https://nx.dev/docs/technologies/build-tools/vite/guides/configure-vite for details.
RUN v4.0.9 /home/runner/work/kbve/kbve/packages/npm/laser Coverage enabled with v8
✓ src/lib/net/postcard-wire.spec.ts (28 tests) 78ms ✓ src/lib/core/events.spec.ts (14 tests) 58ms ✓ src/lib/auth/game-auth.spec.ts (12 tests) 28ms ✓ src/lib/phaser/ambient-dust.spec.ts (7 tests) 43ms ✓ src/lib/phaser/player-controller.spec.ts (6 tests) 57ms ✓ src/lib/spatial/quadtree.spec.ts (8 tests) 19ms ✓ src/lib/phaser/use-phaser-event.spec.tsx (7 tests) 122ms ✓ src/lib/phaser/PhaserGame.spec.tsx (10 tests) 418ms ✓ src/lib/mecs/sab.spec.ts (10 tests) 39ms ✓ src/lib/net/postcard.spec.ts (7 tests) 29ms ✓ src/lib/ecs/store.spec.ts (7 tests) 33ms ✓ src/lib/net/protocol.spec.ts (7 tests) 48ms ✓ src/lib/phaser/monsters/bird.spec.ts (9 tests) 28ms ✓ src/lib/phaser/gpu-sprite-layer.spec.ts (4 tests) 42ms ✓ src/lib/core/invariant.spec.ts (5 tests) 12ms ✓ src/lib/phaser/arrow-projectile.spec.ts (2 tests) 12ms ✓ src/lib/i18n/store.spec.ts (8 tests) 9ms ✓ src/lib/r3f/use-game-loop.spec.tsx (3 tests) 30ms ✓ src/lib/webgl/pom/uniforms.spec.ts (7 tests) 9ms ✓ src/lib/phaser/object-pool.spec.ts (3 tests) 10ms ✓ src/lib/combat/combat.test.ts (6 tests) 8ms ✓ src/lib/determ/heightfield.spec.ts (3 tests) 6ms ✓ src/lib/phaser/use-phaser.spec.tsx (3 tests) 37ms ✓ src/lib/promo/registry.spec.ts (5 tests) 7ms ✓ src/lib/tile/path.spec.ts (5 tests) 46ms ✓ src/lib/phaser/keyboard-map.spec.ts (2 tests) 10ms ✓ src/lib/determ/determ.test.ts (5 tests) 8msstderr | src/lib/r3f/Stage.spec.tsx > Stage > should render a Canvas wrapper<ambientLight /> is using incorrect casing. Use PascalCase for React components, or lowercase for HTML elements.The tag <ambientLight> is unrecognized in this browser. If you meant to render a React component, start its name with an uppercase letter.The tag <mesh> is unrecognized in this browser. If you meant to render a React component, start its name with an uppercase letter.
stderr | src/lib/r3f/Stage.spec.tsx > Stage > should pass className to Canvas<ambientLight /> is using incorrect casing. Use PascalCase for React components, or lowercase for HTML elements.
stderr | src/lib/r3f/Stage.spec.tsx > Stage > should render children inside Canvas<ambientLight /> is using incorrect casing. Use PascalCase for React components, or lowercase for HTML elements.
✓ src/lib/r3f/Stage.spec.tsx (3 tests) 56ms ✓ src/lib/ecs/helpers.spec.ts (4 tests) 87ms
Test Files 29 passed (29) Tests 200 passed (200) Start at 04:22:43 Duration 27.86s (transform 8.39s, setup 0ms, collect 12.16s, tests 1.39s, environment 47.27s, prepare 3.16s)
% Coverage report from v8-------------------|---------|----------|---------|---------|-------------------File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s-------------------|---------|----------|---------|---------|-------------------All files | 76.14 | 57.97 | 75.37 | 77.32 | auth | 100 | 100 | 100 | 100 | game-auth.ts | 100 | 100 | 100 | 100 | combat | 100 | 87.5 | 100 | 100 | index.ts | 100 | 87.5 | 100 | 100 | 57,64 core | 91.89 | 80.55 | 85 | 94.11 | events.ts | 89.28 | 73.07 | 82.35 | 92.15 | 64,73,82-83 invariant.ts | 100 | 100 | 100 | 100 | determ | 100 | 100 | 100 | 100 | heightfield.ts | 100 | 100 | 100 | 100 | index.ts | 100 | 100 | 100 | 100 | ecs | 62.85 | 41.66 | 41.17 | 65.82 | bitecs.ts | 0 | 0 | 0 | 0 | components.ts | 100 | 100 | 100 | 100 | helpers.ts | 24.13 | 0 | 36.36 | 25 | 30-58,79-95 store.ts | 67.17 | 45.45 | 43.47 | 71.3 | ...29-235,256-277 i18n | 94.44 | 81.81 | 84.61 | 93.54 | store.ts | 94.44 | 81.81 | 84.61 | 93.54 | 50,63 mecs | 84.12 | 68.18 | 82.14 | 85.45 | sab.ts | 84.12 | 68.18 | 82.14 | 85.45 | ...84-291,312-315 net | 75.2 | 44.7 | 74.6 | 75.29 | connection.ts | 17.74 | 0 | 16.66 | 19.29 | 55-61,96-189 gamechat-wire.ts | 100 | 100 | 100 | 100 | postcard-wire.ts | 78.65 | 57.42 | 94.44 | 77.77 | ...36-345,539-543 postcard.ts | 95.87 | 84.21 | 88.88 | 95.65 | 52,58,75,167 protocol.ts | 93.57 | 100 | 58.33 | 96 | 10,621-626 ...hat-client.ts | 12.5 | 0 | 16.66 | 13.79 | 54-77,85-131 phaser | 65.7 | 50 | 68.62 | 68.64 | PhaserGame.tsx | 76.74 | 47.61 | 85.71 | 80.48 | 58,73-74,81-89 ambient-dust.ts | 91.04 | 86.66 | 87.5 | 95 | 57-58,196 ...projectile.ts | 100 | 83.33 | 100 | 100 | 56 ...rite-layer.ts | 81.81 | 80 | 60 | 80.95 | 35,38,42-43 keyboard-map.ts | 100 | 100 | 100 | 100 | object-pool.ts | 100 | 100 | 100 | 100 | ...controller.ts | 75.43 | 66.12 | 100 | 75.43 | ...43,145,147,149 ...aser-event.ts | 100 | 100 | 100 | 100 | use-phaser.ts | 100 | 100 | 100 | 100 | ...l-joystick.ts | 0 | 0 | 0 | 0 | 32-162 phaser/monsters | 100 | 100 | 100 | 100 | bird.ts | 100 | 100 | 100 | 100 | promo | 96.15 | 100 | 100 | 95 | registry.ts | 96.15 | 100 | 100 | 95 | 23 r3f/components | 100 | 100 | 100 | 100 | Stage.tsx | 100 | 100 | 100 | 100 | r3f/hooks | 100 | 100 | 100 | 100 | use-game-loop.ts | 100 | 100 | 100 | 100 | spatial | 82.81 | 80.85 | 100 | 86.66 | quadtree.ts | 82.81 | 80.85 | 100 | 86.66 | 65-68,83,93-96 tile | 94.73 | 87.5 | 100 | 100 | path.ts | 94.73 | 87.5 | 100 | 100 | 54,60-61 webgl | 25 | 0 | 33.33 | 25.92 | context-guard.ts | 25 | 0 | 33.33 | 25.92 | 4-30,48-50,53-54 webgl/pom | 100 | 100 | 100 | 100 | uniforms.ts | 100 | 100 | 100 | 100 |-------------------|---------|----------|---------|---------|-------------------::endgroup::
NX Successfully ran target coverage for 4 projects
Run duration: 30.2s Cache: 0/4 hit (0%) Critical path: 30.1s (1 task) Recoverable time: 54ms (0% of the run)
Recommendations: - Drastically reduce your run duration by sharing a cache across your team and CI → https://nx.dev/ci/features/remote-cache?utm_source=nx-cli&utm_medium=cli&utm_campaign=performance-report&utm_content=remote-cache. - Speed up or split the longest tasks on the critical path: laser:coverage 30.1sAuto-generated by ci-daily-content.yml
