Skip to content

🐛 upon Kind install, failure to build serverless harness image #154

Description

@maia-iyer

Describe the bug

The tail of the script shows it got to the point of building serverless-harness image, but finally some npm error:

...
--- Building serverless-harness image ---
[1/2] STEP 1/22: FROM node:24-alpine AS builder
Resolved "node" as an alias (/etc/containers/registries.conf.d/000-shortnames.conf)
Trying to pull docker.io/library/node:24-alpine...
Getting image source signatures
Copying blob sha256:8e7170666875c7e05ff8de96bbdcc595e7b0b741a7174c32ec79cd84641b7e54
Copying blob sha256:5de55e5ef9c033997441461efe7ba23a986db059c0bb78b38f84ee0d72b99167
Copying blob sha256:d9f8fbd0bc867c16f58af8042831cf1fcea01ea0362fc0e0e3059513ab508cba
Copying blob sha256:0d79637ec2545f0ba103fc06e01c231570d0599e2d3a2827915674af3f8db81e
Copying config sha256:b3ba23292f4c342e7969cc88e1abf816e6d8d6b169472a40848a154c0bc29ace
Writing manifest to image destination
[1/2] STEP 2/22: RUN apk add --no-cache build-base python3 pkgconfig pixman-dev cairo-dev pango-dev jpeg-dev giflib-dev librsvg-dev
(  1/177) Installing jansson (2.15.0-r0)
(  2/177) Installing zstd-libs (1.5.7-r2)
(  3/177) Installing binutils (2.45.1-r1)
(  4/177) Installing libmagic (5.47-r2)
(  5/177) Installing file (5.47-r2)
(  6/177) Installing libgcc-static (15.2.0-r5)
(  7/177) Installing libgomp (15.2.0-r5)
(  8/177) Installing libatomic (15.2.0-r5)
(  9/177) Installing gmp (6.3.0-r4)
( 10/177) Installing isl26 (0.26-r2)
( 11/177) Installing mpfr4 (4.2.2-r0)
( 12/177) Installing mpc1 (1.3.1-r1)
( 13/177) Installing gcc (15.2.0-r5)
( 14/177) Installing libstdc++-dev (15.2.0-r5)
( 15/177) Installing musl-dev (1.2.6-r2)
( 16/177) Installing g++ (15.2.0-r5)
( 17/177) Installing make (4.4.1-r4)
( 18/177) Installing fortify-headers (3.0.1-r2)
( 19/177) Installing patch (2.8-r0)
( 20/177) Installing build-base (0.5-r4)
( 21/177) Installing cairo-tools (1.18.4-r1)
( 22/177) Installing libxau (1.0.12-r0)
( 23/177) Installing libmd (1.2.0-r0)
( 24/177) Installing libbsd (0.12.2-r0)
( 25/177) Installing libxdmcp (1.1.5-r1)
( 26/177) Installing libxcb (1.17.0-r2)
( 27/177) Installing libx11 (1.8.13-r0)
( 28/177) Installing libxext (1.3.7-r0)
( 29/177) Installing libxrender (0.9.12-r0)
( 30/177) Installing libexpat (2.8.2-r0)
( 31/177) Installing brotli-libs (1.2.0-r1)
( 32/177) Installing libbz2 (1.0.8-r6)
( 33/177) Installing libpng (1.6.58-r1)
( 34/177) Installing freetype (2.14.3-r0)
( 35/177) Installing fontconfig (2.17.1-r1)
( 36/177) Installing pixman (0.46.4-r0)
( 37/177) Installing cairo (1.18.4-r1)
( 38/177) Installing libffi (3.5.2-r1)
( 39/177) Installing libintl (1.0-r0)
( 40/177) Installing libeconf (0.8.3-r0)
( 41/177) Installing libblkid (2.42.1-r0)
( 42/177) Installing libmount (2.42.1-r0)
( 43/177) Installing pcre2 (10.47-r1)
( 44/177) Installing glib (2.88.1-r1)
( 45/177) Installing cairo-gobject (1.18.4-r1)
( 46/177) Installing expat (2.8.2-r0)
( 47/177) Installing pkgconf (2.5.1-r0)
( 48/177) Installing expat-dev (2.8.2-r0)
( 49/177) Installing bzip2-dev (1.0.8-r6)
( 50/177) Installing brotli (1.2.0-r1)
( 51/177) Installing brotli-dev (1.2.0-r1)
( 52/177) Installing zlib-dev (1.3.2-r0)
( 53/177) Installing libpng-dev (1.6.58-r1)
( 54/177) Installing freetype-dev (2.14.3-r0)
( 55/177) Installing fontconfig-dev (2.17.1-r1)
( 56/177) Installing xz-libs (5.8.3-r0)
( 57/177) Installing libxml2 (2.13.9-r2)
( 58/177) Installing libxml2-utils (2.13.9-r2)
( 59/177) Installing docbook-xml (4.5-r10)
  Executing docbook-xml-4.5-r10.post-install
( 60/177) Installing libxslt (1.1.43-r3)
( 61/177) Installing docbook-xsl-ns (1.79.2-r13)
  Executing docbook-xsl-ns-1.79.2-r13.post-install
( 62/177) Installing docbook-xsl-nons (1.79.2-r13)
  Executing docbook-xsl-nons-1.79.2-r13.post-install
( 63/177) Installing docbook-xsl (1.79.2-r13)
( 64/177) Installing xz (5.8.3-r0)
( 65/177) Installing gettext-asprintf (1.0-r0)
( 66/177) Installing ncurses-terminfo-base (6.6_p20260516-r0)
( 67/177) Installing libncursesw (6.6_p20260516-r0)
( 68/177) Installing libunistring (1.4.2-r0)
( 69/177) Installing gettext-libs (1.0-r0)
( 70/177) Installing gettext-envsubst (1.0-r0)
( 71/177) Installing gettext (1.0-r0)
( 72/177) Installing gettext-dev (1.0-r0)
( 73/177) Installing gdbm (1.26-r0)
( 74/177) Installing mpdecimal (4.0.1-r0)
( 75/177) Installing libpanelw (6.6_p20260516-r0)
( 76/177) Installing readline (8.3.3-r1)
( 77/177) Installing sqlite-libs (3.53.2-r0)
( 78/177) Installing python3 (3.14.7-r1)
( 79/177) Installing python3-pycache-pyc0 (3.14.7-r1)
( 80/177) Installing pyc (3.14.7-r1)
( 81/177) Installing python3-pyc (3.14.7-r1)
( 82/177) Installing py3-parsing (3.3.2-r1)
( 83/177) Installing py3-parsing-pyc (3.3.2-r1)
( 84/177) Installing py3-packaging (26.2-r0)
( 85/177) Installing py3-packaging-pyc (26.2-r0)
( 86/177) Installing linux-headers (7.0.0-r1)
( 87/177) Installing libffi-dev (3.5.2-r1)
( 88/177) Installing bsd-compat-headers (0.7.2-r6)
( 89/177) Installing libformw (6.6_p20260516-r0)
( 90/177) Installing libmenuw (6.6_p20260516-r0)
( 91/177) Installing libncurses++ (6.6_p20260516-r0)
( 92/177) Installing ncurses-dev (6.6_p20260516-r0)
( 93/177) Installing libedit (20260508.3.1-r1)
( 94/177) Installing libedit-dev (20260508.3.1-r1)
( 95/177) Installing libpcre2-16 (10.47-r1)
( 96/177) Installing libpcre2-32 (10.47-r1)
( 97/177) Installing pcre2-dev (10.47-r1)
( 98/177) Installing libuuid (2.42.1-r0)
( 99/177) Installing libfdisk (2.42.1-r0)
(100/177) Installing skalibs-libs (2.15.0.0-r0)
(101/177) Installing utmps-libs (0.1.3.3-r0)
(102/177) Installing linux-pam (1.7.1-r2)
(103/177) Installing liblastlog2 (2.42.1-r0)
(104/177) Installing libsmartcols (2.42.1-r0)
(105/177) Installing sqlite (3.53.2-r0)
(106/177) Installing sqlite-dev (3.53.2-r0)
(107/177) Installing util-linux-dev (2.42.1-r0)
(108/177) Installing glib-dev (2.88.1-r1)
(109/177) Installing pixman-dev (0.46.4-r0)
(110/177) Installing xorgproto (2025.1-r0)
(111/177) Installing libxau-dev (1.0.12-r0)
(112/177) Installing xcb-proto (1.17.0-r1)
(113/177) Installing xcb-proto-pyc (1.17.0-r1)
(114/177) Installing libxdmcp-dev (1.1.5-r1)
(115/177) Installing libxcb-dev (1.17.0-r2)
(116/177) Installing xtrans (1.6.0-r0)
(117/177) Installing libx11-dev (1.8.13-r0)
(118/177) Installing libxext-dev (1.3.7-r0)
(119/177) Installing libxrender-dev (0.9.12-r0)
(120/177) Installing cairo-dev (1.18.4-r1)
(121/177) Installing giflib (5.2.2-r1)
(122/177) Installing giflib-dev (5.2.2-r1)
(123/177) Installing libjpeg-turbo (3.1.3-r0)
(124/177) Installing libturbojpeg (3.1.3-r0)
(125/177) Installing libjpeg-turbo-dev (3.1.3-r0)
(126/177) Installing jpeg-dev (9f-r0)
(127/177) Installing libdav1d (1.5.3-r0)
(128/177) Installing graphite2 (1.3.14-r6)
(129/177) Installing harfbuzz (13.2.1-r0)
(130/177) Installing libxft (2.3.9-r0)
(131/177) Installing fribidi (1.0.16-r3)
(132/177) Installing pango (1.57.1-r0)
(133/177) Installing rsvg-convert (2.62.3-r0)
(134/177) Installing shared-mime-info (2.4-r7)
(135/177) Installing libcap2 (2.78-r0)
(136/177) Installing bubblewrap (0.11.2-r0)
(137/177) Installing lcms2 (2.19-r0)
(138/177) Installing libseccomp (2.6.0-r2)
(139/177) Installing libglycin (2.1.5-r0)
  Executing libglycin-2.1.5-r0.post-install
  * glycin loaders got split into their individual subpackages.
  * By default, only glycin-image-rs & glycin-svg are installed.
  * Additional loader subpackages are glycin-heif, glycin-jxl & glycin-raw.
  * 
  * To install all available loaders, install glycin-loaders-all.
  * 
  * Also the glycin-thumbnailer got subpackaged and isn't installed by default.
(140/177) Installing glycin-image-rs (2.1.5-r0)
(141/177) Installing glycin-svg (2.1.5-r0)
(142/177) Installing gdk-pixbuf (2.44.7-r1)
(143/177) Installing librsvg (2.62.3-r0)
(144/177) Installing dav1d-dev (1.5.3-r0)
(145/177) Installing lcms2-plugins (2.19-r0)
(146/177) Installing libsharpyuv (1.6.0-r0)
(147/177) Installing libwebp (1.6.0-r0)
(148/177) Installing tiff (4.7.1-r0)
(149/177) Installing libtiffxx (4.7.1-r0)
(150/177) Installing libwebpdecoder (1.6.0-r0)
(151/177) Installing libwebpdemux (1.6.0-r0)
(152/177) Installing libwebpmux (1.6.0-r0)
(153/177) Installing libwebp-dev (1.6.0-r0)
(154/177) Installing zstd (1.5.7-r2)
(155/177) Installing zstd-dev (1.5.7-r2)
(156/177) Installing tiff-dev (4.7.1-r0)
(157/177) Installing lcms2-dev (2.19-r0)
(158/177) Installing libseccomp-dev (2.6.0-r2)
(159/177) Installing libglycin-dev (2.1.5-r0)
(160/177) Installing gdk-pixbuf-dev (2.44.7-r1)
(161/177) Installing harfbuzz-cairo (13.2.1-r0)
(162/177) Installing harfbuzz-gobject (13.2.1-r0)
(163/177) Installing icu-data-en (78.1-r0)
  Executing icu-data-en-78.1-r0.post-install
  * If you need ICU with non-English locales and legacy charset support, install
  * package icu-data-full.
(164/177) Installing icu-libs (78.1-r0)
(165/177) Installing harfbuzz-icu (13.2.1-r0)
(166/177) Installing harfbuzz-subset (13.2.1-r0)
(167/177) Installing graphite2-dev (1.3.14-r6)
(168/177) Installing icu (78.1-r0)
(169/177) Installing icu-dev (78.1-r0)
(170/177) Installing harfbuzz-dev (13.2.1-r0)
(171/177) Installing xz-dev (5.8.3-r0)
(172/177) Installing libxml2-dev (2.13.9-r2)
(173/177) Installing pango-tools (1.57.1-r0)
(174/177) Installing fribidi-dev (1.0.16-r3)
(175/177) Installing libxft-dev (2.3.9-r0)
(176/177) Installing pango-dev (1.57.1-r0)
(177/177) Installing librsvg-dev (2.62.3-r0)
Executing busybox-1.37.0-r31.trigger
Executing glib-2.88.1-r1.trigger
* No schema files found: doing nothing.
Executing shared-mime-info-2.4-r7.trigger
Executing gdk-pixbuf-2.44.7-r1.trigger
OK: 438.4 MiB in 195 packages
--> 39825c29d57b
[1/2] STEP 3/22: RUN corepack enable && corepack prepare pnpm@9 --activate
Preparing pnpm@9 for immediate activation...
--> e74a7d974c34
[1/2] STEP 4/22: WORKDIR /app
--> 8b116da2f947
[1/2] STEP 5/22: COPY pnpm-workspace.yaml pnpm-lock.yaml ./
--> ec05656310ac
[1/2] STEP 6/22: COPY packages/session-backend/package.json ./packages/session-backend/
--> 557e1735e051
[1/2] STEP 7/22: COPY packages/k8s-sandbox/package.json ./packages/k8s-sandbox/
--> b0f24c1706a6
[1/2] STEP 8/22: COPY packages/knative-server/package.json ./packages/knative-server/
--> 22b2a3d4947b
[1/2] STEP 9/22: COPY packages/sandbox-relay/package.json ./packages/sandbox-relay/
--> 00965d9c01ee
[1/2] STEP 10/22: COPY packages/work-queue/package.json ./packages/work-queue/
--> c0d81b7da75e
[1/2] STEP 11/22: COPY packages/ibac-stub/package.json ./packages/ibac-stub/
--> fa40fa2b3551
[1/2] STEP 12/22: COPY harness/package.json ./harness/
--> cb4a4ca75791
[1/2] STEP 13/22: COPY pi-fork/ ./pi-fork/
--> 8f57a5eec481
[1/2] STEP 14/22: WORKDIR /app/pi-fork
--> f0e6931d8187
[1/2] STEP 15/22: RUN npm ci
npm warn deprecated prebuild-install@7.1.3: No longer maintained. Please contact the author of the relevant native addon; alternatives are available.
npm warn deprecated node-domexception@1.0.0: Use your platform's native DOMException instead
npm warn deprecated glob@10.5.0: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me

> pi-monorepo@0.0.3 prepare
> husky

git command not found
added 362 packages, and audited 372 packages in 29s

65 packages are looking for funding
  run `npm fund` for details

11 vulnerabilities (1 low, 8 high, 2 critical)

To address issues that do not require attention, run:
  npm audit fix

To address all issues, run:
  npm audit fix --force

Run `npm audit` for details.
npm warn allow-scripts 7 packages have install scripts not yet covered by allowScripts:
npm warn allow-scripts   @google/genai@1.52.0 (preinstall: echo 'preinstall: no-op')
npm warn allow-scripts   canvas@3.2.3 (install: prebuild-install -r napi || node-gyp rebuild)
npm warn allow-scripts   cpu-features@0.0.10 (install: node buildcheck.js > buildcheck.gypi && node-gyp rebuild)
npm warn allow-scripts   esbuild@0.28.0 (postinstall: node install.js)
npm warn allow-scripts   protobufjs@7.5.9 (postinstall: node scripts/postinstall)
npm warn allow-scripts   ssh2@1.17.0 (install: node install.js)
npm warn allow-scripts   esbuild@0.27.7 (postinstall: node install.js)
npm warn allow-scripts
npm warn allow-scripts Run `npm approve-scripts --allow-scripts-pending` to review, or `npm approve-scripts <pkg>` to allow.
npm notice
npm notice New major version of npm available! 11.17.0 -> 12.0.2
npm notice Changelog: https://github.com/npm/cli/releases/tag/v12.0.2
npm notice To update run: npm install -g npm@12.0.2
npm notice
--> 5f30baf0b750
[1/2] STEP 16/22: WORKDIR /app
--> a10464dad38e
[1/2] STEP 17/22: RUN pnpm install --frozen-lockfile
(node:1) [DEP0169] DeprecationWarning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities.
(Use `node --trace-deprecation ...` to show where the warning was created)
Scope: all 7 workspace projects
Lockfile is up to date, resolution step is skipped
Progress: resolved 1, reused 0, downloaded 0, added 0
Packages: +90
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

   ╭───────────────────────────────────────────────────────────────────╮
   │                                                                   │
   │                Update available! 9.15.9 → 11.22.0.                │
   │   Changelog: https://github.com/pnpm/pnpm/releases/tag/v11.22.0   │
   │            Run "corepack use pnpm@11.22.0" to update.             │
   │                                                                   │
   ╰───────────────────────────────────────────────────────────────────╯

Progress: resolved 90, reused 0, downloaded 90, added 90, done
.../node_modules/protobufjs postinstall$ node scripts/postinstall
.../esbuild@0.21.5/node_modules/esbuild postinstall$ node install.js
.../esbuild@0.28.1/node_modules/esbuild postinstall$ node install.js
.../node_modules/protobufjs postinstall: Done
.../esbuild@0.21.5/node_modules/esbuild postinstall: Done
.../esbuild@0.28.1/node_modules/esbuild postinstall: Done
 WARN  Failed to create bin at /app/harness/node_modules/.bin/pi-ai. ENOENT: no such file or directory, open '/app/pi-fork/packages/ai/dist/cli.js'
 WARN  Failed to create bin at /app/harness/node_modules/.bin/pi. ENOENT: no such file or directory, open '/app/pi-fork/packages/coding-agent/dist/cli.js'
 WARN  Failed to create bin at /app/packages/k8s-sandbox/node_modules/.bin/pi. ENOENT: no such file or directory, open '/app/pi-fork/packages/coding-agent/dist/cli.js'
 WARN  Failed to create bin at /app/packages/k8s-sandbox/node_modules/.bin/pi. ENOENT: no such file or directory, open '/app/packages/k8s-sandbox/node_modules/@earendil-works/pi-coding-agent/dist/cli.js'
 WARN  Failed to create bin at /app/harness/node_modules/.bin/pi-ai. ENOENT: no such file or directory, open '/app/harness/node_modules/@earendil-works/pi-ai/dist/cli.js'
 WARN  Failed to create bin at /app/harness/node_modules/.bin/pi. ENOENT: no such file or directory, open '/app/harness/node_modules/@earendil-works/pi-coding-agent/dist/cli.js'
Done in 1.3s using pnpm v9.15.9
--> 07794e8786e4
[1/2] STEP 18/22: COPY packages/ ./packages/
--> 0e7b409730e9
[1/2] STEP 19/22: COPY harness/ ./harness/
--> 1cfcc0e01d3b
[1/2] STEP 20/22: WORKDIR /app/pi-fork
--> 13491df1a5cc
[1/2] STEP 21/22: RUN npm run build -w packages/ai &&     npm run build -w packages/agent &&     npm run build -w packages/tui &&     npm run build -w packages/coding-agent

> @earendil-works/pi-ai@0.79.1 build
> npm run generate-models && npm run generate-image-models && tsgo -p tsconfig.build.json


> @earendil-works/pi-ai@0.79.1 generate-models
> node scripts/generate-models.ts

Fetching models from models.dev API...
Fetching models from NVIDIA NIM API...
Fetched 102 model IDs from NVIDIA NIM
Loaded 627 tool-capable models from models.dev
Fetching models from OpenRouter API...
Fetched 346 tool-capable models from OpenRouter
Fetching models from Vercel AI Gateway API...
Fetched 203 tool-capable models from Vercel AI Gateway
Generated src/models.generated.ts

Model Statistics:
  Total tool-capable models: 1238
  Reasoning-capable models: 967
  amazon-bedrock: 118 models
  anthropic: 13 models
  google: 22 models
  openai: 41 models
  groq: 6 models
  cerebras: 2 models
  cloudflare-workers-ai: 15 models
  cloudflare-ai-gateway: 57 models
  xai: 9 models
  zai: 5 models
  zai-coding-cn: 5 models
  mistral: 31 models
  huggingface: 64 models
  fireworks: 23 models
  nvidia: 31 models
  together: 19 models
  opencode: 61 models
  opencode-go: 19 models
  github-copilot: 33 models
  minimax: 3 models
  minimax-cn: 3 models
  kimi-coding: 4 models
  moonshotai: 10 models
  moonshotai-cn: 10 models
  xiaomi: 6 models
  xiaomi-token-plan-cn: 5 models
  xiaomi-token-plan-ams: 5 models
  xiaomi-token-plan-sgp: 5 models
  openrouter: 347 models
  vercel-ai-gateway: 203 models
  deepseek: 2 models
  ant-ling: 3 models
  openai-codex: 4 models
  google-vertex: 13 models
  azure-openai-responses: 41 models

> @earendil-works/pi-ai@0.79.1 generate-image-models
> node scripts/generate-image-models.ts

Fetching image models from OpenRouter API...
Fetched 45 image models from OpenRouter
Generated /app/pi-fork/packages/ai/src/image-models.generated.ts
src/models.generated.ts(10611,13): error TS2353: Object literal may only specify known properties, and '"supportsReasoningEffort"' does not exist in type 'OpenAIResponsesCompat'.
npm error Lifecycle script `build` failed with error:
npm error code 1
npm error path /app/pi-fork/packages/ai
npm error workspace @earendil-works/pi-ai@0.79.1
npm error location /app/pi-fork/packages/ai
npm error command failed
npm error command sh -c npm run generate-models && npm run generate-image-models && tsgo -p tsconfig.build.json
Error: building at STEP "RUN npm run build -w packages/ai &&     npm run build -w packages/agent &&     npm run build -w packages/tui &&     npm run build -w packages/coding-agent": while running runtime: exit status 1

Steps To Reproduce

podman machine init --rootful --memory 18432 --cpus 6
podman machine start
./deploy/knative/setup-kind.sh 

Expected Behavior

It should not error. Also as a first time quickstart, I didn't entirely expect to build the image and instead pull and load from the repo packages which publishes images.

Rossoctl Version

No response

Additional Context

I was able to reproduce this twice. And I think I can get around it by adding the --skip-build flag. Should we default to this?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions