$ /nix/store/9ypz3flqsrl5xl495mm8h645gadjsxi1-coreutils-9.11/bin/timeout --kill-after=15s 7200s /nix/store/23zk8sgzamrbmj1fday15szf7f2279s8-nix-2.34.7/bin/nix --extra-experimental-features nix-command --extra-experimental-features flakes --log-format internal-json build --no-link --print-out-paths git+https://codeberg.org/mtlynch/mikeville?ref=help-overlay&rev=71d1c62c7a9a9a958b73bbc9a2bfd525d283d4ea&shallow=1#packages.x86_64-linux.check-frontend --print-build-logs fetching Git repository 'https://codeberg.org/mtlynch/mikeville' remote: Enumerating objects: 143, done. remote: Counting objects: 0% (1/143) remote: Counting objects: 1% (2/143) remote: Counting objects: 2% (3/143) remote: Counting objects: 3% (5/143) remote: Counting objects: 4% (6/143) remote: Counting objects: 5% (8/143) remote: Counting objects: 6% (9/143) remote: Counting objects: 7% (11/143) remote: Counting objects: 8% (12/143) remote: Counting objects: 9% (13/143) remote: Counting objects: 10% (15/143) remote: Counting objects: 11% (16/143) remote: Counting objects: 12% (18/143) remote: Counting objects: 13% (19/143) remote: Counting objects: 14% (21/143) remote: Counting objects: 15% (22/143) remote: Counting objects: 16% (23/143) remote: Counting objects: 17% (25/143) remote: Counting objects: 18% (26/143) remote: Counting objects: 19% (28/143) remote: Counting objects: 20% (29/143) remote: Counting objects: 21% (31/143) remote: Counting objects: 22% (32/143) remote: Counting objects: 23% (33/143) remote: Counting objects: 24% (35/143) remote: Counting objects: 25% (36/143) remote: Counting objects: 26% (38/143) remote: Counting objects: 27% (39/143) remote: Counting objects: 28% (41/143) remote: Counting objects: 29% (42/143) remote: Counting objects: 30% (43/143) remote: Counting objects: 31% (45/143) remote: Counting objects: 32% (46/143) remote: Counting objects: 33% (48/143) remote: Counting objects: 34% (49/143) remote: Counting objects: 35% (51/143) remote: Counting objects: 36% (52/143) remote: Counting objects: 37% (53/143) remote: Counting objects: 38% (55/143) remote: Counting objects: 39% (56/143) remote: Counting objects: 40% (58/143) remote: Counting objects: 41% (59/143) remote: Counting objects: 42% (61/143) remote: Counting objects: 43% (62/143) remote: Counting objects: 44% (63/143) remote: Counting objects: 45% (65/143) remote: Counting objects: 46% (66/143) remote: Counting objects: 47% (68/143) remote: Counting objects: 48% (69/143) remote: Counting objects: 49% (71/143) remote: Counting objects: 50% (72/143) remote: Counting objects: 51% (73/143) remote: Counting objects: 52% (75/143) remote: Counting objects: 53% (76/143) remote: Counting objects: 54% (78/143) remote: Counting objects: 55% (79/143) remote: Counting objects: 56% (81/143) remote: Counting objects: 57% (82/143) remote: Counting objects: 58% (83/143) remote: Counting objects: 59% (85/143) remote: Counting objects: 60% (86/143) remote: Counting objects: 61% (88/143) remote: Counting objects: 62% (89/143) remote: Counting objects: 63% (91/143) remote: Counting objects: 64% (92/143) remote: Counting objects: 65% (93/143) remote: Counting objects: 66% (95/143) remote: Counting objects: 67% (96/143) remote: Counting objects: 68% (98/143) remote: Counting objects: 69% (99/143) remote: Counting objects: 70% (101/143) remote: Counting objects: 71% (102/143) remote: Counting objects: 72% (103/143) remote: Counting objects: 73% (105/143) remote: Counting objects: 74% (106/143) remote: Counting objects: 75% (108/143) remote: Counting objects: 76% (109/143) remote: Counting objects: 77% (111/143) remote: Counting objects: 78% (112/143) remote: Counting objects: 79% (113/143) remote: Counting objects: 80% (115/143) remote: Counting objects: 81% (116/143) remote: Counting objects: 82% (118/143) remote: Counting objects: 83% (119/143) remote: Counting objects: 84% (121/143) remote: Counting objects: 85% (122/143) remote: Counting objects: 86% (123/143) remote: Counting objects: 87% (125/143) remote: Counting objects: 88% (126/143) remote: Counting objects: 89% (128/143) remote: Counting objects: 90% (129/143) remote: Counting objects: 91% (131/143) remote: Counting objects: 92% (132/143) remote: Counting objects: 93% (133/143) remote: Counting objects: 94% (135/143) remote: Counting objects: 95% (136/143) remote: Counting objects: 96% (138/143) remote: Counting objects: 97% (139/143) remote: Counting objects: 98% (141/143) remote: Counting objects: 99% (142/143) remote: Counting objects: 100% (143/143) remote: Counting objects: 100% (143/143), done. remote: Compressing objects: 0% (1/133) remote: Compressing objects: 1% (2/133) remote: Compressing objects: 2% (3/133) remote: Compressing objects: 3% (4/133) remote: Compressing objects: 4% (6/133) remote: Compressing objects: 5% (7/133) remote: Compressing objects: 6% (8/133) remote: Compressing objects: 7% (10/133) remote: Compressing objects: 8% (11/133) remote: Compressing objects: 9% (12/133) remote: Compressing objects: 10% (14/133) remote: Compressing objects: 11% (15/133) remote: Compressing objects: 12% (16/133) remote: Compressing objects: 13% (18/133) remote: Compressing objects: 14% (19/133) remote: Compressing objects: 15% (20/133) remote: Compressing objects: 16% (22/133) remote: Compressing objects: 17% (23/133) remote: Compressing objects: 18% (24/133) remote: Compressing objects: 19% (26/133) remote: Compressing objects: 20% (27/133) remote: Compressing objects: 21% (28/133) remote: Compressing objects: 22% (30/133) remote: Compressing objects: 23% (31/133) remote: Compressing objects: 24% (32/133) remote: Compressing objects: 25% (34/133) remote: Compressing objects: 26% (35/133) remote: Compressing objects: 27% (36/133) remote: Compressing objects: 28% (38/133) remote: Compressing objects: 29% (39/133) remote: Compressing objects: 30% (40/133) remote: Compressing objects: 31% (42/133) remote: Compressing objects: 32% (43/133) remote: Compressing objects: 33% (44/133) remote: Compressing objects: 34% (46/133) remote: Compressing objects: 35% (47/133) remote: Compressing objects: 36% (48/133) remote: Compressing objects: 37% (50/133) remote: Compressing objects: 38% (51/133) remote: Compressing objects: 39% (52/133) remote: Compressing objects: 40% (54/133) remote: Compressing objects: 41% (55/133) remote: Compressing objects: 42% (56/133) remote: Compressing objects: 43% (58/133) remote: Compressing objects: 44% (59/133) remote: Compressing objects: 45% (60/133) remote: Compressing objects: 46% (62/133) remote: Compressing objects: 47% (63/133) remote: Compressing objects: 48% (64/133) remote: Compressing objects: 49% (66/133) remote: Compressing objects: 50% (67/133) remote: Compressing objects: 51% (68/133) remote: Compressing objects: 52% (70/133) remote: Compressing objects: 53% (71/133) remote: Compressing objects: 54% (72/133) remote: Compressing objects: 55% (74/133) remote: Compressing objects: 56% (75/133) remote: Compressing objects: 57% (76/133) remote: Compressing objects: 58% (78/133) remote: Compressing objects: 59% (79/133) remote: Compressing objects: 60% (80/133) remote: Compressing objects: 61% (82/133) remote: Compressing objects: 62% (83/133) remote: Compressing objects: 63% (84/133) remote: Compressing objects: 64% (86/133) remote: Compressing objects: 65% (87/133) remote: Compressing objects: 66% (88/133) remote: Compressing objects: 67% (90/133) remote: Compressing objects: 68% (91/133) remote: Compressing objects: 69% (92/133) remote: Compressing objects: 70% (94/133) remote: Compressing objects: 71% (95/133) remote: Compressing objects: 72% (96/133) remote: Compressing objects: 73% (98/133) remote: Compressing objects: 74% (99/133) remote: Compressing objects: 75% (100/133) remote: Compressing objects: 76% (102/133) remote: Compressing objects: 77% (103/133) remote: Compressing objects: 78% (104/133) remote: Compressing objects: 79% (106/133) remote: Compressing objects: 80% (107/133) remote: Compressing objects: 81% (108/133) remote: Compressing objects: 82% (110/133) remote: Compressing objects: 83% (111/133) remote: Compressing objects: 84% (112/133) remote: Compressing objects: 85% (114/133) remote: Compressing objects: 86% (115/133) remote: Compressing objects: 87% (116/133) remote: Compressing objects: 88% (118/133) remote: Compressing objects: 89% (119/133) remote: Compressing objects: 90% (120/133) remote: Compressing objects: 91% (122/133) remote: Compressing objects: 92% (123/133) remote: Compressing objects: 93% (124/133) remote: Compressing objects: 94% (126/133) remote: Compressing objects: 95% (127/133) remote: Compressing objects: 96% (128/133) remote: Compressing objects: 97% (130/133) remote: Compressing objects: 98% (131/133) remote: Compressing objects: 99% (132/133) remote: Compressing objects: 100% (133/133) remote: Compressing objects: 100% (133/133), done. Receiving objects: 0% (1/143) Receiving objects: 1% (2/143) Receiving objects: 2% (3/143) Receiving objects: 3% (5/143) Receiving objects: 4% (6/143) Receiving objects: 5% (8/143) Receiving objects: 6% (9/143) Receiving objects: 7% (11/143) Receiving objects: 8% (12/143) Receiving objects: 9% (13/143) Receiving objects: 10% (15/143) Receiving objects: 11% (16/143) Receiving objects: 12% (18/143) Receiving objects: 13% (19/143) Receiving objects: 14% (21/143) Receiving objects: 15% (22/143) Receiving objects: 16% (23/143) Receiving objects: 17% (25/143) Receiving objects: 18% (26/143) Receiving objects: 19% (28/143) Receiving objects: 20% (29/143) Receiving objects: 21% (31/143) Receiving objects: 22% (32/143) Receiving objects: 23% (33/143) Receiving objects: 24% (35/143) Receiving objects: 25% (36/143) Receiving objects: 26% (38/143) Receiving objects: 27% (39/143) Receiving objects: 28% (41/143) Receiving objects: 29% (42/143) Receiving objects: 30% (43/143) Receiving objects: 31% (45/143) Receiving objects: 32% (46/143) remote: Total 143 (delta 4), reused 98 (delta 2), pack-reused 0 (from 0) Receiving objects: 33% (48/143) Receiving objects: 34% (49/143) Receiving objects: 35% (51/143) Receiving objects: 36% (52/143) Receiving objects: 37% (53/143) Receiving objects: 38% (55/143) Receiving objects: 39% (56/143) Receiving objects: 40% (58/143) Receiving objects: 41% (59/143) Receiving objects: 42% (61/143) Receiving objects: 43% (62/143) Receiving objects: 44% (63/143) Receiving objects: 45% (65/143) Receiving objects: 46% (66/143) Receiving objects: 47% (68/143) Receiving objects: 48% (69/143) Receiving objects: 49% (71/143) Receiving objects: 50% (72/143) Receiving objects: 51% (73/143) Receiving objects: 52% (75/143) Receiving objects: 53% (76/143) Receiving objects: 54% (78/143) Receiving objects: 55% (79/143) Receiving objects: 56% (81/143) Receiving objects: 57% (82/143) Receiving objects: 58% (83/143) Receiving objects: 59% (85/143) Receiving objects: 60% (86/143) Receiving objects: 61% (88/143) Receiving objects: 62% (89/143) Receiving objects: 63% (91/143) Receiving objects: 64% (92/143) Receiving objects: 65% (93/143) Receiving objects: 66% (95/143) Receiving objects: 67% (96/143) Receiving objects: 68% (98/143) Receiving objects: 69% (99/143) Receiving objects: 70% (101/143) Receiving objects: 71% (102/143) Receiving objects: 72% (103/143) Receiving objects: 73% (105/143) Receiving objects: 74% (106/143) Receiving objects: 75% (108/143) Receiving objects: 76% (109/143) Receiving objects: 77% (111/143) Receiving objects: 78% (112/143) Receiving objects: 79% (113/143) Receiving objects: 80% (115/143) Receiving objects: 81% (116/143) Receiving objects: 82% (118/143) Receiving objects: 83% (119/143) Receiving objects: 84% (121/143) Receiving objects: 85% (122/143) Receiving objects: 86% (123/143) Receiving objects: 87% (125/143) Receiving objects: 88% (126/143) Receiving objects: 89% (128/143) Receiving objects: 90% (129/143) Receiving objects: 91% (131/143) Receiving objects: 92% (132/143) Receiving objects: 93% (133/143) Receiving objects: 94% (135/143) Receiving objects: 95% (136/143) Receiving objects: 96% (138/143) Receiving objects: 97% (139/143) Receiving objects: 98% (141/143) Receiving objects: 99% (142/143) Receiving objects: 100% (143/143) Receiving objects: 100% (143/143), 122.44 KiB | 11.13 MiB/s, done. Resolving deltas: 0% (0/4) Resolving deltas: 25% (1/4) Resolving deltas: 50% (2/4) Resolving deltas: 75% (3/4) Resolving deltas: 100% (4/4) Resolving deltas: 100% (4/4), done. From https://codeberg.org/mtlynch/mikeville * branch 71d1c62c7a9a9a958b73bbc9a2bfd525d283d4ea -> FETCH_HEAD  Building /nix/store/fsv18j55mavdj0hm2db296jp2z8zgkgk-check-frontend-0.0.0.drv [check-frontend] Phase: unpackPhase [check-frontend] unpacking source archive /nix/store/grnjygjijgywcyvsgijz0g702bcw3g2s-source [check-frontend] source root is source [check-frontend] Phase: patchPhase [check-frontend] Phase: updateAutotoolsGnuConfigScriptsPhase [check-frontend] Phase: configurePhase [check-frontend] no configure script, doing nothing [check-frontend] Executing pnpmConfigHook [check-frontend] /build/source/assets /build/source [check-frontend] Using fetcherVersion: 2 [check-frontend] Configuring pnpm store [check-frontend] /build/source /build/source/assets /build/source [check-frontend] /build/source/assets /build/source [check-frontend] Installing dependencies [check-frontend] Lockfile is up to date, resolution step is skipped [check-frontend] Progress: resolved 1, reused 0, downloaded 0, added 0 [check-frontend] Packages: +10 [check-frontend]  [check-frontend] Progress: resolved 1, reused 0, downloaded 0, added 0 [check-frontend] Progress: resolved 10, reused 9, downloaded 0, added 9 [check-frontend] Progress: resolved 10, reused 10, downloaded 0, added 9 [check-frontend] Progress: resolved 10, reused 10, downloaded 0, added 10 [check-frontend] Progress: resolved 10, reused 10, downloaded 0, added 10, done [check-frontend]  [check-frontend] dependencies: [check-frontend] + phaser 4.2.1 [check-frontend] + phoenix 0.0.0 <- ../deps/phoenix [check-frontend] + phoenix_html 0.0.0 <- ../deps/phoenix_html [check-frontend]  [check-frontend] devDependencies: [check-frontend] + @playwright/test 1.57.0 [check-frontend] + @types/node 26.1.1 [check-frontend] + esbuild 0.25.4 [check-frontend] + typescript 5.9.3 [check-frontend]  [check-frontend] Done in 999ms using pnpm v10.25.0 [check-frontend] Patching scripts [check-frontend] patching script interpreter paths in node_modules/@playwright node_modules/@types node_modules/esbuild node_modules/phaser node_modules/phoenix node_modules/phoenix_html node_modules/typescript node_modules/.bin node_modules/.modules.yaml node_modules/.pnpm node_modules/.pnpm-workspace-state-v1.json [check-frontend] node_modules/.bin/tsc: interpreter directive changed from "#!/bin/sh" to "/nix/store/35yc81pz0q5yba14lxhn5r3jx5yg6c3l-bash-interactive-5.3p3/bin/sh" [check-frontend] node_modules/.bin/tsserver: interpreter directive changed from "#!/bin/sh" to "/nix/store/35yc81pz0q5yba14lxhn5r3jx5yg6c3l-bash-interactive-5.3p3/bin/sh" [check-frontend] node_modules/.bin/playwright: interpreter directive changed from "#!/bin/sh" to "/nix/store/35yc81pz0q5yba14lxhn5r3jx5yg6c3l-bash-interactive-5.3p3/bin/sh" [check-frontend] node_modules/.bin/esbuild: interpreter directive changed from "#!/bin/sh" to "/nix/store/35yc81pz0q5yba14lxhn5r3jx5yg6c3l-bash-interactive-5.3p3/bin/sh" [check-frontend] node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/bin/tsc: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" [check-frontend] node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/bin/tsserver: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" [check-frontend] node_modules/.pnpm/node_modules/.bin/playwright-core: interpreter directive changed from "#!/bin/sh" to "/nix/store/35yc81pz0q5yba14lxhn5r3jx5yg6c3l-bash-interactive-5.3p3/bin/sh" [check-frontend] node_modules/.pnpm/node_modules/.bin/playwright: interpreter directive changed from "#!/bin/sh" to "/nix/store/35yc81pz0q5yba14lxhn5r3jx5yg6c3l-bash-interactive-5.3p3/bin/sh" [check-frontend] node_modules/.pnpm/@playwright+test@1.57.0/node_modules/@playwright/test/node_modules/.bin/playwright: interpreter directive changed from "#!/bin/sh" to "/nix/store/35yc81pz0q5yba14lxhn5r3jx5yg6c3l-bash-interactive-5.3p3/bin/sh" [check-frontend] node_modules/.pnpm/@playwright+test@1.57.0/node_modules/@playwright/test/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" [check-frontend] node_modules/.pnpm/playwright-core@1.57.0/node_modules/playwright-core/bin/reinstall_msedge_beta_linux.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/35yc81pz0q5yba14lxhn5r3jx5yg6c3l-bash-interactive-5.3p3/bin/bash" [check-frontend] node_modules/.pnpm/playwright-core@1.57.0/node_modules/playwright-core/bin/reinstall_chrome_beta_linux.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/35yc81pz0q5yba14lxhn5r3jx5yg6c3l-bash-interactive-5.3p3/bin/bash" [check-frontend] node_modules/.pnpm/playwright-core@1.57.0/node_modules/playwright-core/bin/reinstall_msedge_stable_linux.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/35yc81pz0q5yba14lxhn5r3jx5yg6c3l-bash-interactive-5.3p3/bin/bash" [check-frontend] node_modules/.pnpm/playwright-core@1.57.0/node_modules/playwright-core/bin/reinstall_chrome_stable_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/35yc81pz0q5yba14lxhn5r3jx5yg6c3l-bash-interactive-5.3p3/bin/bash" [check-frontend] node_modules/.pnpm/playwright-core@1.57.0/node_modules/playwright-core/bin/reinstall_chrome_beta_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/35yc81pz0q5yba14lxhn5r3jx5yg6c3l-bash-interactive-5.3p3/bin/bash" [check-frontend] node_modules/.pnpm/playwright-core@1.57.0/node_modules/playwright-core/bin/reinstall_msedge_beta_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/35yc81pz0q5yba14lxhn5r3jx5yg6c3l-bash-interactive-5.3p3/bin/bash" [check-frontend] node_modules/.pnpm/playwright-core@1.57.0/node_modules/playwright-core/bin/reinstall_msedge_stable_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/35yc81pz0q5yba14lxhn5r3jx5yg6c3l-bash-interactive-5.3p3/bin/bash" [check-frontend] node_modules/.pnpm/playwright-core@1.57.0/node_modules/playwright-core/bin/reinstall_msedge_dev_linux.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/35yc81pz0q5yba14lxhn5r3jx5yg6c3l-bash-interactive-5.3p3/bin/bash" [check-frontend] node_modules/.pnpm/playwright-core@1.57.0/node_modules/playwright-core/bin/reinstall_msedge_dev_mac.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/35yc81pz0q5yba14lxhn5r3jx5yg6c3l-bash-interactive-5.3p3/bin/bash" [check-frontend] node_modules/.pnpm/playwright-core@1.57.0/node_modules/playwright-core/bin/reinstall_chrome_stable_linux.sh: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/35yc81pz0q5yba14lxhn5r3jx5yg6c3l-bash-interactive-5.3p3/bin/bash" [check-frontend] node_modules/.pnpm/playwright-core@1.57.0/node_modules/playwright-core/lib/utilsBundleImpl/xdg-open: interpreter directive changed from "#!/bin/sh" to "/nix/store/35yc81pz0q5yba14lxhn5r3jx5yg6c3l-bash-interactive-5.3p3/bin/sh" [check-frontend] node_modules/.pnpm/playwright-core@1.57.0/node_modules/playwright-core/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" [check-frontend] node_modules/.pnpm/esbuild@0.25.4/node_modules/esbuild/bin/esbuild: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" [check-frontend] node_modules/.pnpm/playwright@1.57.0/node_modules/playwright/node_modules/.bin/playwright-core: interpreter directive changed from "#!/bin/sh" to "/nix/store/35yc81pz0q5yba14lxhn5r3jx5yg6c3l-bash-interactive-5.3p3/bin/sh" [check-frontend] node_modules/.pnpm/playwright@1.57.0/node_modules/playwright/cli.js: interpreter directive changed from "#!/usr/bin/env node" to "/nix/store/lgggxsrdzisnbligi7irlh4qmqczs0xk-nodejs-24.11.1/bin/node" [check-frontend] /build/source [check-frontend] Finished pnpmConfigHook [check-frontend] Phase: buildPhase [check-frontend] patching script interpreter paths in ./dev-scripts [check-frontend] ./dev-scripts/serve: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/35yc81pz0q5yba14lxhn5r3jx5yg6c3l-bash-interactive-5.3p3/bin/bash" [check-frontend] ./dev-scripts/serve-prod: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/35yc81pz0q5yba14lxhn5r3jx5yg6c3l-bash-interactive-5.3p3/bin/bash" [check-frontend] ./dev-scripts/git-hooks/pre-commit: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/35yc81pz0q5yba14lxhn5r3jx5yg6c3l-bash-interactive-5.3p3/bin/bash" [check-frontend] ./dev-scripts/check-trailing-newline: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/35yc81pz0q5yba14lxhn5r3jx5yg6c3l-bash-interactive-5.3p3/bin/bash" [check-frontend] ./dev-scripts/run-elixir-tests: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/35yc81pz0q5yba14lxhn5r3jx5yg6c3l-bash-interactive-5.3p3/bin/bash" [check-frontend] ./dev-scripts/run-js-tests: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/35yc81pz0q5yba14lxhn5r3jx5yg6c3l-bash-interactive-5.3p3/bin/bash" [check-frontend] ./dev-scripts/enable-git-hooks: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/35yc81pz0q5yba14lxhn5r3jx5yg6c3l-bash-interactive-5.3p3/bin/bash" [check-frontend] ./dev-scripts/check-trailing-whitespace: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/35yc81pz0q5yba14lxhn5r3jx5yg6c3l-bash-interactive-5.3p3/bin/bash" [check-frontend] ./dev-scripts/upload-to-nixci-cache: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/35yc81pz0q5yba14lxhn5r3jx5yg6c3l-bash-interactive-5.3p3/bin/bash" [check-frontend] ./dev-scripts/run-browser-tests: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/35yc81pz0q5yba14lxhn5r3jx5yg6c3l-bash-interactive-5.3p3/bin/bash" [check-frontend] ./dev-scripts/build-all-flake-targets: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/35yc81pz0q5yba14lxhn5r3jx5yg6c3l-bash-interactive-5.3p3/bin/bash" [check-frontend] ./dev-scripts/check-frontend: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/35yc81pz0q5yba14lxhn5r3jx5yg6c3l-bash-interactive-5.3p3/bin/bash" [check-frontend] ./dev-scripts/check-bash: interpreter directive changed from "#!/usr/bin/env bash" to "/nix/store/35yc81pz0q5yba14lxhn5r3jx5yg6c3l-bash-interactive-5.3p3/bin/bash" [check-frontend] + set -u [check-frontend] +++ dirname ./dev-scripts/check-frontend [check-frontend] ++ cd ./dev-scripts [check-frontend] ++ pwd [check-frontend] + SCRIPT_DIR=/build/source/dev-scripts [check-frontend] + readonly SCRIPT_DIR [check-frontend] + cd /build/source/dev-scripts/../assets [check-frontend] + pnpm exec tsc --noEmit [check-frontend] + ../dev-scripts/run-js-tests [check-frontend] + set -u [check-frontend] +++ dirname ../dev-scripts/run-js-tests [check-frontend] ++ cd ../dev-scripts [check-frontend] ++ pwd [check-frontend] + SCRIPT_DIR=/build/source/dev-scripts [check-frontend] + readonly SCRIPT_DIR [check-frontend] + cd /build/source/dev-scripts/../assets [check-frontend] + shopt -s globstar nullglob [check-frontend] + test_files=(js/**/*.test.ts) [check-frontend] + [[ 7 -eq 0 ]] [check-frontend] + node --import ./test-support/register.js --test js/game/boulders.test.ts js/game/camera-zoom.test.ts js/game/inventory-counter.test.ts js/game/network.test.ts js/game/player.test.ts js/game/river.test.ts js/game/scenes/game-scene.test.ts [check-frontend] ✔ rock textures use rounded boulder silhouettes (0.854623ms) [check-frontend] ✔ mouse wheel zoom keeps HUD fixed on screen (0.980959ms) [check-frontend] ✔ inventory counter keeps its screen layout when camera zoom changes (2.432542ms) [check-frontend] ✔ parseInitPayload returns a typed init payload (1.832126ms) [check-frontend] ✔ parseInitPayload accepts a null diversion side (0.125947ms) [check-frontend] ✔ parseAreaPayload returns a typed area payload (0.359314ms) [check-frontend] ✔ parseSnapshotPayload returns a typed snapshot payload (0.216897ms) [check-frontend] ✔ parseWorldEvent returns each known event type (0.270517ms) [check-frontend] ✔ parseSnapshotPayload rejects malformed remote players (0.382728ms) [check-frontend] ✔ parseSnapshotPayload rejects an invalid boulder transition (0.172443ms) [check-frontend] ✔ parseWorldEvent rejects unknown event types (0.145082ms) [check-frontend] ✔ player body depth follows its feet (1.038918ms) [check-frontend] ✔ player name label stays above world sprites (0.208862ms) [check-frontend] ✔ local player name uses a distinct label color (0.590577ms) [check-frontend] ✔ targeted arm swings do not replace the most recent walking direction (0.239048ms) [check-frontend] ✔ movement snapshots do not overwrite facing until an arm swing finishes (0.143699ms) [check-frontend] ✔ advanceRiverDrops leaves a drop past a newly inserted blocker unchanged (1.316319ms) [check-frontend] ✔ advanceRiverDrops waits until a drop reaches a blocker before diverting it (0.382277ms) [check-frontend] ✔ advanceRiverDrops moves smoothly sideways around a blocker (0.160571ms) [check-frontend] ✔ advanceRiverDrops rises to overflow a three-sided boulder pool (0.223259ms) [check-frontend] ✔ advanceRiverDrops flows past adjacent boulders without turning back (0.160982ms) [check-frontend] ✔ advanceRiverDrops keeps following its diverted path downstream (0.150682ms) [check-frontend] ✔ advanceRiverDrops resets a wrapped drop to the spawn column (0.164729ms) [check-frontend] ✔ advanceRiverDrops produces the same route for partitioned elapsed time (0.149631ms) [check-frontend] ✔ local player collides with remote players (2.078358ms) [check-frontend] ✔ new boulder transitions animate smoothly despite a stale server clock (0.497823ms) [check-frontend] ✔ stale local snapshots do not replace a newer lease (0.628609ms) [check-frontend] ✔ reports a completed crossing before reserving the next tile (0.51748ms) [check-frontend] ✔ diagonal input leases the nearest cardinal boundary (0.119935ms) [check-frontend] ✔ diagonal input reports the leased cardinal direction (0.253265ms) [check-frontend] ✔ snapshots remove boulders that no longer exist on the server (0.189125ms) [check-frontend] ✔ a sole reachable item determines the arm swing direction (0.28271ms) [check-frontend] ✔ multiple reachable items preserve the most recent walking direction (0.20273ms) [check-frontend] ✔ arm swing events animate remote players without restarting the local swing (0.290955ms) [check-frontend] ✔ camera deadzone keeps a fixed screen-space edge margin (0.163206ms) [check-frontend] ✔ rendered local player stays inside the right world edge (0.21875ms) [check-frontend] ℹ tests 36 [check-frontend] ℹ suites 0 [check-frontend] ℹ pass 36 [check-frontend] ℹ fail 0 [check-frontend] ℹ cancelled 0 [check-frontend] ℹ skipped 0 [check-frontend] ℹ todo 0 [check-frontend] ℹ duration_ms 187.898655 [check-frontend] Phase: installPhase [check-frontend] Phase: fixupPhase [check-frontend] shrinking RPATHs of ELF executables and libraries in /nix/store/dln9xh6giyav7izw0v8zhi1v6r3fx0ka-check-frontend-0.0.0 [check-frontend] checking for references to /build/ in /nix/store/dln9xh6giyav7izw0v8zhi1v6r3fx0ka-check-frontend-0.0.0... [check-frontend] patching script interpreter paths in /nix/store/dln9xh6giyav7izw0v8zhi1v6r3fx0ka-check-frontend-0.0.0 [check-frontend:post-build] Uploading to the NixCI cache: /nix/store/dln9xh6giyav7izw0v8zhi1v6r3fx0ka-check-frontend-0.0.0 [check-frontend:post-build] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [check-frontend:post-build] copying 1 paths... [check-frontend:post-build] copying path '/nix/store/dln9xh6giyav7izw0v8zhi1v6r3fx0ka-check-frontend-0.0.0' to 'https://cache.nix-ci.com'... [check-frontend:post-build] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead [check-frontend:post-build] copying 4 paths... [check-frontend:post-build] copying path '/nix/store/grnjygjijgywcyvsgijz0g702bcw3g2s-source' to 'https://cache.nix-ci.com'... [check-frontend:post-build] copying path '/nix/store/27hf5fwpclqkg6div3vljq9gcc3y3afi-source' to 'https://cache.nix-ci.com'... [check-frontend:post-build] copying path '/nix/store/b916lcb9jr8nb1v01y9zg876w1wpjmab-mikeville-assets-pnpm-deps-pnpm-deps.drv' to 'https://cache.nix-ci.com'... [check-frontend:post-build] copying path '/nix/store/fsv18j55mavdj0hm2db296jp2z8zgkgk-check-frontend-0.0.0.drv' to 'https://cache.nix-ci.com'... Uploaded check-frontend in 2.1s Progress: 1 of 2 built Built check-frontend in 6.2s Progress: 2 of 2 built /nix/store/dln9xh6giyav7izw0v8zhi1v6r3fx0ka-check-frontend-0.0.0 Build succeeded.