Run summary
Run failed.
1 failed.
pi-ext / push
fix(activity): repair Win32 terminal launch and cleanup
Affected execution
FAILED ci
Child failure detailexit status 1
Execution configuration
Image
Matrixnone
Triggerpush
Commands
export HOME=/tmp/pi-ext-home MISE_DATA_DIR=/cache/toolchains/mise MISE_CACHE_DIR=/cache/toolchains/downloads GOCACHE=/cache/toolchains/go-build GOPATH=/cache/toolchains/go NPM_CONFIG_CACHE=/cache/npm PI_EXT_CI_CACHE_ROOT=/cache/toolchains && mkdir -p "$HOME" /cache/toolchains/bin
export PATH="/cache/toolchains/bin:$HOME/.local/bin:$PATH"
command -v mise >/dev/null 2>&1 || { curl -fsSL https://mise.run | sh && cp "$HOME/.local/bin/mise" /cache/toolchains/bin/mise; }
mise trust
mise install
CI=true MOZ_DISABLE_CONTENT_SANDBOX=1 xvfb-run -a mise run //:ci
Job source · .ci/ci.kdl
job "ci" { build { containerfile ".ci/Containerfile"context ".ci" }trigger { push { branch "trunk"tag "v*" } }mount "cache" "toolchains" "/cache/toolchains"mount "cache" "npm" "/cache/npm"run "export HOME=/tmp/pi-ext-home MISE_DATA_DIR=/cache/toolchains/mise MISE_CACHE_DIR=/cache/toolchains/downloads GOCACHE=/cache/toolchains/go-build GOPATH=/cache/toolchains/go NPM_CONFIG_CACHE=/cache/npm PI_EXT_CI_CACHE_ROOT=/cache/toolchains && mkdir -p \"$HOME\" /cache/toolchains/bin"run "export PATH=\"/cache/toolchains/bin:$HOME/.local/bin:$PATH\""run "command -v mise >/dev/null 2>&1 || { curl -fsSL https://mise.run | sh && cp \"$HOME/.local/bin/mise\" /cache/toolchains/bin/mise; }"run "mise trust"run "mise install"run "CI=true MOZ_DISABLE_CONTENT_SANDBOX=1 xvfb-run -a mise run //:ci"artifact "release" { path "release-manifest.json"required true }publish "pkg" { from ".pi/tmp/release-artifacts"to "releases/pi-ext/${rev}" }}
Actual evidence · child 001
[luci] build cache bytes=0 removed=0 graphroot-free=67227922432 [luci] build start containerfile=.ci/Containerfile context=.ci STEP 1/4: FROM mcr.microsoft.com/playwright:v1.61.0-noble Trying to pull mcr.microsoft.com/playwright:v1.61.0-noble... Getting image source signatures Copying blob sha256:cbe151a12b0374a937e583a60673dc24cf98cef69954860cae7d8d51d88173ce Copying blob sha256:a9cc3c289b1b7df8079d33df5f1975cf65e6ec292dde5748af547213059d6be5 Copying blob sha256:0e5f8475f38bbc351dc1b0148d9ea94bc5c5f2b710f72e96988b799b681a0b35 Copying blob sha256:914b82411860874c8ef4ae9fe0a0fdfc11618201766e9995a0b6d4c9096cbf2b Copying config sha256:753f831a898523662c36011748ba0729b59838745d577c61c91287fe1778bfe1 Writing manifest to image destination STEP 2/4: RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg && rm -rf /var/lib/apt/lists/* Get:1 http://archive.ubuntu.com/ubuntu noble InRelease [256 kB] Get:2 http://security.ubuntu.com/ubuntu noble-security InRelease [126 kB] Get:3 https://deb.nodesource.com/node_24.x nodistro InRelease [12.1 kB] Get:4 http://archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB] Get:5 http://archive.ubuntu.com/ubuntu noble-backports InRelease [126 kB] Get:6 http://security.ubuntu.com/ubuntu noble-security/restricted amd64 Packages [2122 kB] Get:7 https://deb.nodesource.com/node_24.x nodistro/main amd64 Packages [9470 B] Get:8 http://security.ubuntu.com/ubuntu noble-security/multiverse amd64 Packages [55.6 kB] Get:9 http://archive.ubuntu.com/ubuntu noble/multiverse amd64 Packages [331 kB] Get:10 http://security.ubuntu.com/ubuntu noble-security/universe amd64 Packages [1549 kB] Get:11 http://security.ubuntu.com/ubuntu noble-security/main amd64 Packages [1410 kB] Get:12 http://archive.ubuntu.com/ubuntu noble/restricted amd64 Packages [117 kB] Get:13 http://archive.ubuntu.com/ubuntu noble/main amd64 Packages [1808 kB] Get:14 http://archive.ubuntu.com/ubuntu noble/universe amd64 Packages [19.3 MB] Get:15 http://archive.ubuntu.com/ubuntu noble-updates/restricted amd64 Packages [2231 kB] Get:16 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages [1729 kB] Get:17 http://archive.ubuntu.com/ubuntu noble-updates/multiverse amd64 Packages [61.7 kB] Get:18 http://archive.ubuntu.com/ubuntu noble-updates/universe amd64 Packages [2168 kB] Get:19 http://archive.ubuntu.com/ubuntu noble-backports/multiverse amd64 Packages [669 B] Get:20 http://archive.ubuntu.com/ubuntu noble-backports/main amd64 Packages [49.0 kB] Get:21 http://archive.ubuntu.com/ubuntu noble-backports/universe amd64 Packages [36.0 kB] Fetched 33.6 MB in 3s (11.6 MB/s) Reading package lists... Reading package lists... Building dependency tree... Reading state information... The following additional packages will be installed: libavdevice60 libcdio-cdda2t64 libcdio-paranoia2t64 libcdio19t64 libxcb-shape0 libxv1 Suggested packages: ffmpeg-doc The following NEW packages will be installed: ffmpeg libavdevice60 libcdio-cdda2t64 libcdio-paranoia2t64 libcdio19t64 libxcb-shape0 libxv1 0 upgraded, 7 newly installed, 0 to remove and 114 not upgraded. Need to get 2073 kB of archives. After this operation, 3171 kB of additional disk space will be used. Get:1 http://archive.ubuntu.com/ubuntu noble-updates/main amd64 libcdio19t64 amd64 2.1.0-4.1ubuntu1.2 [62.4 kB] Get:2 http://archive.ubuntu.com/ubuntu noble/main amd64 libcdio-cdda2t64 amd64 10.2+2.0.1-1.1build2 [16.5 kB] Get:3 http://archive.ubuntu.com/ubuntu noble/main amd64 libcdio-paranoia2t64 amd64 10.2+2.0.1-1.1build2 [16.6 kB] Get:4 http://archive.ubuntu.com/ubuntu noble/main amd64 libxcb-shape0 amd64 1.15-1ubuntu2 [6100 B] Get:5 http://archive.ubuntu.com/ubuntu noble/main amd64 libxv1 amd64 2:1.0.11-1.1build1 [10.7 kB] Get:6 http://archive.ubuntu.com/ubuntu noble/universe amd64 libavdevice60 amd64 7:6.1.1-3ubuntu5 [82.3 kB] Get:7 http://archive.ubuntu.com/ubuntu noble/universe amd64 ffmpeg amd64 7:6.1.1-3ubuntu5 [1879 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 2073 kB in 1s (4100 kB/s) Selecting previously unselected package libcdio19t64:amd64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 34798 files and directories currently installed.) Preparing to unpack .../0-libcdio19t64_2.1.0-4.1ubuntu1.2_amd64.deb ... Unpacking libcdio19t64:amd64 (2.1.0-4.1ubuntu1.2) ... Selecting previously unselected package libcdio-cdda2t64:amd64. Preparing to unpack .../1-libcdio-cdda2t64_10.2+2.0.1-1.1build2_amd64.deb ... Unpacking libcdio-cdda2t64:amd64 (10.2+2.0.1-1.1build2) ... Selecting previously unselected package libcdio-paranoia2t64:amd64. Preparing to unpack .../2-libcdio-paranoia2t64_10.2+2.0.1-1.1build2_amd64.deb ... Unpacking libcdio-paranoia2t64:amd64 (10.2+2.0.1-1.1build2) ... Selecting previously unselected package libxcb-shape0:amd64. Preparing to unpack .../3-libxcb-shape0_1.15-1ubuntu2_amd64.deb ... Unpacking libxcb-shape0:amd64 (1.15-1ubuntu2) ... Selecting previously unselected package libxv1:amd64. Preparing to unpack .../4-libxv1_2%3a1.0.11-1.1build1_amd64.deb ... Unpacking libxv1:amd64 (2:1.0.11-1.1build1) ... Selecting previously unselected package libavdevice60:amd64. Preparing to unpack .../5-libavdevice60_7%3a6.1.1-3ubuntu5_amd64.deb ... Unpacking libavdevice60:amd64 (7:6.1.1-3ubuntu5) ... Selecting previously unselected package ffmpeg. Preparing to unpack .../6-ffmpeg_7%3a6.1.1-3ubuntu5_amd64.deb ... Unpacking ffmpeg (7:6.1.1-3ubuntu5) ... Setting up libxcb-shape0:amd64 (1.15-1ubuntu2) ... Setting up libcdio19t64:amd64 (2.1.0-4.1ubuntu1.2) ... Setting up libcdio-cdda2t64:amd64 (10.2+2.0.1-1.1build2) ... Setting up libcdio-paranoia2t64:amd64 (10.2+2.0.1-1.1build2) ... Setting up libxv1:amd64 (2:1.0.11-1.1build1) ... Setting up libavdevice60:amd64 (7:6.1.1-3ubuntu5) ... Setting up ffmpeg (7:6.1.1-3ubuntu5) ... Processing triggers for libc-bin (2.39-0ubuntu8.7) ... --> 2f64e7ab8a71 STEP 3/4: RUN test "$(dpkg --print-architecture)" = amd64 && curl -fsSL https://github.com/nushell/nushell/releases/download/0.116.1/nu-0.116.1-x86_64-unknown-linux-gnu.tar.gz -o /tmp/nu.tar.gz && echo 'd6d8ace4be491ed8abba4026e73b60c0470b4671d7039307e7d772282ef863da /tmp/nu.tar.gz' | sha256sum -c - && tar -xzf /tmp/nu.tar.gz -C /tmp && install /tmp/nu-0.116.1-x86_64-unknown-linux-gnu/nu /usr/local/bin/nu && rm -rf /tmp/nu.tar.gz /tmp/nu-0.116.1-x86_64-unknown-linux-gnu /tmp/nu.tar.gz: OK --> 9f88cbe5d7d8 STEP 4/4: LABEL "io.luci.build"="cache-v1" COMMIT luci-build-1792516343592293796-001 --> e64d8ba7e6dd Successfully tagged localhost/luci-build-1792516343592293796-001:latest e64d8ba7e6dd1adf5a360f22953060bc9047aee2c537d2d770cb11902628b33d [luci] build done image=sha256:e64d8ba7e6dd1adf5a360f22953060bc9047aee2c537d2d770cb11902628b33d in 22s [luci] step 1/6: export HOME=/tmp/pi-ext-home MISE_DATA_DIR=/cache/toolchains/mise MISE_CACHE_DIR=/cache/toolchains/downloads GOCACHE=/cache/toolchains/go-build GOPATH=/cache/toolchains/go NPM_CONFIG_CACHE=/cache/npm PI_EXT_CI_CACHE_ROOT=/cache/toolchains && mkdir -p "$HOME" /cache/toolchains/bin [luci] step 1/6 done in 0s [luci] step 2/6: export PATH="/cache/toolchains/bin:$HOME/.local/bin:$PATH" [luci] step 2/6 done in 0s [luci] step 3/6: command -v mise >/dev/null 2>&1 || { curl -fsSL https://mise.run | sh && cp "$HOME/.local/bin/mise" /cache/toolchains/bin/mise; } [luci] step 3/6 done in 0s [luci] step 4/6: mise trust mise trusted /work [luci] step 4/6 done in 1s [luci] step 5/6: mise install mise by @jdx – installing 8 tools mise ⇢ node@latest 10ms · already installed mise ⇢ go@latest 0ms · already installed mise ⇢ biome@latest 0ms · already installed mise ⇢ aqua:mikefarah/yq@latest 0ms · already installed mise ⇢ aqua:rvben/rumdl@latest 0ms · already installed mise ⇢ aqua:tamasfe/taplo@latest 0ms · already installed mise ⇢ github:asciinema/agg@latest 0ms · already installed mise ⇢ go:golang.org/x/perf/cmd/benchstat@latest 0ms · already installed mise ████████████████ 8/8 · installed 0 tools · 8 already installed in 63ms mise all tools are installed [luci] step 5/6 done in 0s [luci] step 6/6: CI=true MOZ_DISABLE_CONTENT_SANDBOX=1 xvfb-run -a mise run //:ci [//:install] $ npm ci npm warn deprecated sliced@1.0.1: Unsupported npm warn deprecated node-domexception@1.0.0: Use your platform's native DOMException instead added 843 packages, and audited 890 packages in 36s 209 packages are looking for funding run `npm fund` for details 18 vulnerabilities (4 low, 8 moderate, 6 high) To address issues that do not require attention, run: npm audit fix To address all issues (including breaking changes), run: npm audit fix --force Run `npm audit` for details. [//:check] $ npm run typecheck [//:lint] $ npm run lint > pi-ext@0.1.10 typecheck > tsc -b > pi-ext@0.1.10 lint > biome ci . && rumdl check . Checked 870 files in 10s. No fixes applied. Success: No issues found in 168 files (176ms) [//:lint] $ taplo format --check INFO taplo:format_files:load_config: found configuration file path="/work/.taplo.toml" INFO taplo:format_files:collect_files: found files total=97 excluded=46 files=["/work/.miserc.toml", "/work/.rumdl.toml", "/work/.taplo.toml", "/work/extensions/activity/mise.toml", "/work/extensions/afk/mise.toml", "/work/extensions/angel/mise.toml", "/work/extensions/ask/mise.toml", "/work/extensions/bak/mise.toml", "/work/extensions/canvas/mise.toml", "/work/extensions/chrome-cdp/mise.toml", "/work/extensions/clipboard/mise.toml", "/work/extensions/context-size/mise.toml", "/work/extensions/continuity/mise.toml", "/work/extensions/cost/mise.toml", "/work/extensions/decay/mise.toml", "/work/extensions/ephemlets/mise.toml", "/work/extensions/fast/mise.toml", "/work/extensions/firefox-bidi/mise.toml", "/work/extensions/footer/mise.toml", "/work/extensions/git-safe/mise.toml", "/work/extensions/good-job/mise.toml", "/work/extensions/gratis/mise.toml", "/work/extensions/handoff/mise.toml", "/work/extensions/horst/mise.toml", "/work/extensions/intellij/mise.toml", "/work/extensions/klaus/mise.toml", "/work/extensions/masks/mise.toml", "/work/extensions/mockup/mise.toml", "/work/extensions/model-info/mise.toml", "/work/extensions/notes/mise.toml", "/work/extensions/nu-bang/mise.toml", "/work/extensions/nushell/mise.toml", "/work/extensions/open/mise.toml", "/work/extensions/os-notifier/mise.toml", "/work/extensions/pfui/mise.toml", "/work/extensions/prompt-autopsy/mise.toml", "/work/extensions/quota/mise.toml", "/work/extensions/rtk/mise.toml", "/work/extensions/runtime/mise.toml", "/work/extensions/session-rename/mise.toml", "/work/extensions/skillz/mise.toml", "/work/extensions/strata/mise.toml", "/work/extensions/the-system/mise.toml", "/work/extensions/tps/mise.toml", "/work/extensions/ultra/mise.toml", "/work/extensions/usage/mise.toml", "/work/extensions/uv/mise.toml", "/work/extensions/vcs-status/mise.toml", "/work/extensions/web/mise.toml", "/work/mise.android.toml", "/work/mise.toml"] cwd="/work" [//:lint] $ node scripts/check_frontmatter.ts [//:lint] $ node scripts/check_skills.ts OK skills 0 [//:check] $ node scripts/check_skills.ts OK skills 0 [//:check] $ node scripts/test_extensions_static_check.ts OK static-check tests [//:check] $ node scripts/extensions.ts check OK static 46 extension package(s) [//:check] $ node scripts/compatibility.ts OK compatibility: minimum Pi 1.2.0 consistent [//:check] $ node scripts/readme/banners.ts --check OK banners 46 [//:check-readmes] $ node scripts/readme/check.ts OK readmes 46 [//:test] $ npm run test -- > pi-ext@0.1.10 test > vitest run RUN v5.0.3 /work ❯ unit extensions/ultra/__tests__/dynamic-selection-eval.test.ts (5 tests | 1 failed) 40ms ❯ dynamic selection evaluation (offline) (5) × real SDK with fake provider intercepts selection without running workflow 7ms ❯ contract extensions/clipboard/__tests__/contract.test.ts (24 tests | 1 failed) 2811ms ❯ clipboard public contract (16) × writes only safe lifecycle diagnostics in the isolated test state directory 1037ms ⎯⎯⎯⎯⎯⎯⎯ Failed Tests 2 ⎯⎯⎯⎯⎯⎯⎯ FAIL unit extensions/ultra/__tests__/dynamic-selection-eval.test.ts > dynamic selection evaluation (offline) > real SDK with fake provider intercepts selection without running workflow Error: ENOENT: no such file or directory, lstat '/work/dist/ultra' ❯ inventory extensions/ultra/eval/harness.ts:80:8 78| directory: string, 79| ): Promise<Record<string, string>> { 80| if (!(await lstat(directory)).isDirectory()) | ^ 81| throw new Error("Package root must be a regular directory, not a sym… 82| const result: Record<string, string> = {}; ❯ snapshot extensions/ultra/eval/harness.ts:110:2 ❯ extensions/ultra/__tests__/dynamic-selection-eval.test.ts:210:4 ❯ owned extensions/ultra/__tests__/dynamic-selection-eval.test.ts:43:10 ❯ extensions/ultra/__tests__/dynamic-selection-eval.test.ts:207:3 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/2]⎯ FAIL contract extensions/clipboard/__tests__/contract.test.ts > clipboard public contract > writes only safe lifecycle diagnostics in the isolated test state directory Error: ENOENT: no such file or directory, scandir '/tmp/pi-fixture-lTHWu6/.test-state/pi-ext/debug/clipboard' ❯ extensions/clipboard/__tests__/contract.test.ts:359:7 357| await Promise.all( 358| ( 359| await readdir(directory) | ^ 360| ).map((name) => readFile(join(directory, name), "utf8")), 361| ) ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[2/2]⎯ Test Files 2 failed | 255 passed | 6 skipped (263) Tests 2 failed | 3010 passed | 1 expected fail | 24 skipped (3037) Start at 17:14:47 Duration 421.95s (tests 71%, import 26%, transform 3%) [//:test] ERROR task failed [luci] step 6/6 failed after 516s exit status 1
step timing
| Step | Command | Time |
|---|---|---|
| 1/6 | export HOME=/tmp/pi-ext-home MISE_DATA_DIR=/cache/toolchains/mise MISE_CACHE_DIR=/cache/toolchains/downloads GOCACHE=/cache/toolchains/go-build GOPATH=/cache/toolchains/go NPM_CONFIG_CACHE=/cache/npm PI_EXT_CI_CACHE_ROOT=/cache/toolchains && mkdir -p "$HOME" /cache/toolchains/bin | |
| 2/6 | export PATH="/cache/toolchains/bin:$HOME/.local/bin:$PATH" | |
| 3/6 | command -v mise >/dev/null 2>&1 || { curl -fsSL https://mise.run | sh && cp "$HOME/.local/bin/mise" /cache/toolchains/bin/mise; } | |
| 4/6 | mise trust | |
| 5/6 | mise install | |
| 6/6 | CI=true MOZ_DISABLE_CONTENT_SANDBOX=1 xvfb-run -a mise run //:ci |
Continue in CLI
Nushell command · read-only · local Luci data access required.
luci log dogob-hubiv-bolok-nikoh 001
Full run ID + stable child selector. Copying never executes it.
All configuration at this revision
ci.kdl @ a76c
job "ci" { build { containerfile ".ci/Containerfile" context ".ci" } trigger { push { branch "trunk" tag "v*" } } mount "cache" "toolchains" "/cache/toolchains" mount "cache" "npm" "/cache/npm" run "export HOME=/tmp/pi-ext-home MISE_DATA_DIR=/cache/toolchains/mise MISE_CACHE_DIR=/cache/toolchains/downloads GOCACHE=/cache/toolchains/go-build GOPATH=/cache/toolchains/go NPM_CONFIG_CACHE=/cache/npm PI_EXT_CI_CACHE_ROOT=/cache/toolchains && mkdir -p \"$HOME\" /cache/toolchains/bin" run "export PATH=\"/cache/toolchains/bin:$HOME/.local/bin:$PATH\"" run "command -v mise >/dev/null 2>&1 || { curl -fsSL https://mise.run | sh && cp \"$HOME/.local/bin/mise\" /cache/toolchains/bin/mise; }" run "mise trust" run "mise install" // Luci's capability-free container replaces Firefox's incompatible content sandbox. run "CI=true MOZ_DISABLE_CONTENT_SANDBOX=1 xvfb-run -a mise run //:ci" artifact "release" { path "release-manifest.json" required true } publish "pkg" { from ".pi/tmp/release-artifacts" to "releases/pi-ext/${rev}" } }
release.kdl @ a76c
job "release-matrix" { image "mcr.microsoft.com/playwright:v1.61.0-noble" trigger { push { tag "v*" } } // Compatibility matrix over supported Pi versions. Luci runs Linux containers // only, so Windows and macOS have no runners; they are recorded here as known // gaps rather than silently passing. Node tracks the mise-locked version // (same as dev and normal CI). Broaden the `pi` axis as newer Pi // releases are verified; the compatibility check keeps it in sync with the // declared minimum (`pi-ext.minimumPi`). matrix { pi "1.2.0" } mount "cache" "toolchains" "/cache/toolchains" mount "cache" "npm" "/cache/npm" run "export HOME=/tmp/pi-ext-home MISE_DATA_DIR=/cache/toolchains/mise MISE_CACHE_DIR=/cache/toolchains/downloads GOCACHE=/cache/toolchains/go-build GOPATH=/cache/toolchains/go NPM_CONFIG_CACHE=/cache/npm PI_EXT_CI_CACHE_ROOT=/cache/toolchains && mkdir -p \"$HOME\" /cache/toolchains/bin" run "export PATH=\"/cache/toolchains/bin:$HOME/.local/bin:$PATH\"" run "command -v mise >/dev/null 2>&1 || { curl -fsSL https://mise.run | sh && cp \"$HOME/.local/bin/mise\" /cache/toolchains/bin/mise; }" run "mise trust" run "mise install" run "CI=true PI_EXT_MATRIX_PI=${pi} mise run //:verify-packages" }