GitHub check

Whole log, 166 KB
Current runner version: '2.338.2'
Runner name: 'blacksmith-8vcpu-ubuntu-2404-qlqn2vcfuydqftit'
Runner group name: 'blacksmith scale sets - blacksmith-8vcpu-ubuntu-2404'
Machine name: 'ip-172-31-73-130'
▸ GITHUB_TOKEN Permissions
Contents: read
Metadata: read
Secret source: Actions
Cache mode: write
Prepare workflow directory
Prepare all required actions
Getting action download info
Download action repository 'actions/checkout@v6' (SHA:d23441a48e516b6c34aea4fa41551a30e30af803)
Download action repository 'actions/cache@v6' (SHA:55cc8345863c7cc4c66a329aec7e433d2d1c52a9)
Setting BLACKSMITH_ACTIONS_RESULTS_URL to https://results-receiver.actions.githubusercontent.com/
Complete job name: Test
A job started hook has been configured by the self-hosted runner administrator
▸ Run '/setup.sh'
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 259
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 478
  BLACKSMITH_CHECK_RUN_ID: 130451245240
  BLACKSMITH_JOB_DISPLAY_NAME: Test
  GITHUB_ACTIONS_CACHE_MODE: write
Logging daemon started (blacksmithd for logs)
Results daemon started (blacksmithd for results)
Background adoption and SSH setup started (PID: 3191)

----------------------------------------
View this job: https://app.blacksmith.sh/pingdotgg/runs/42999310627/jobs/130451245240
SSH Access (using your GitHub SSH key):
  ssh -p 64015 runner@blacksmith-8vcpu-ubuntu-2404-qlqn2vcfuydqftit.vm.blacksmith.sh

No GitHub SSH key? Add one at:
https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account

----------------------------------------

VM ID: blacksmith-8vcpu-ubuntu-2404-qlqn2vcfuydqftit
Host: production-152.236.47.165-x8664
Host Agent PID: 2222374
Host Agent Git SHA: db010f00b
Host CPU Manufacturer: AuthenticAMD
Blacksmith Host Generation: gen 2
Petname: production-innocent-heron-6f723572
Region: us-east
Rootfs Version: ubuntu24-full-x64-081926
OS Version: Ubuntu 24.04.4 LTS

Enabling Blacksmith transparent cache
▸ Run actions/checkout@v6
with:
  sparse-checkout: /*
!/.repos/
!/apps/mobile/modules/t3-terminal/Vendor/**/*.a

  sparse-checkout-cone-mode: false
  repository: pingdotgg/t3code
  token: ***
  ssh-strict: true
  ssh-user: git
  persist-credentials: true
  clean: true
  fetch-depth: 1
  fetch-tags: false
  show-progress: true
  lfs: false
  submodules: false
  set-safe-directory: true
  allow-unsafe-pr-checkout: false
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 259
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 478
  GITHUB_REPO_NAME: pingdotgg/t3code
Syncing repository: pingdotgg/t3code
▸ Getting Git version info
Working directory is '/home/runner/_work/t3code/t3code'
[command]/usr/local/bin/git version
git version 2.55.0
Temporarily overriding HOME='/home/runner/_work/_temp/2ef012fd-7065-4414-a098-1fd3991aed69' before making global git config changes
Adding repository directory to the temporary git global config as a safe directory
[command]/usr/local/bin/git config --global --add safe.directory /home/runner/_work/t3code/t3code
Deleting the contents of '/home/runner/_work/t3code/t3code'
▸ Determining repository object format
▸ Initializing the repository
[command]/usr/local/bin/git init /home/runner/_work/t3code/t3code
hint: Using 'master' as the name for the initial branch. This default branch name
hint: will change to "main" in Git 3.0. To configure the initial branch name
hint: to use in all of your new repositories, which will suppress this warning,
hint: call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
hint:
hint: Disable this message with "git config set advice.defaultBranchName false"
Initialized empty Git repository in /home/runner/_work/t3code/t3code/.git/
[command]/usr/local/bin/git remote add origin https://github.com/pingdotgg/t3code
▸ Disabling automatic garbage collection
[command]/usr/local/bin/git config --local gc.auto 0
▸ Setting up auth
Removing SSH command configuration
[command]/usr/local/bin/git config --local --name-only --get-regexp core\.sshCommand
[command]/usr/local/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
Removing HTTP extra header
[command]/usr/local/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
[command]/usr/local/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :"
Removing includeIf entries pointing to credentials config files
[command]/usr/local/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
[command]/usr/local/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
[command]/usr/local/bin/git config --file /home/runner/_work/_temp/git-credentials-6ee903c2-2b47-4ab1-b1c6-6d05751b0324.config http.https://github.com/.extraheader AUTHORIZATION: basic ***
[command]/usr/local/bin/git config --local includeIf.gitdir:/home/runner/_work/t3code/t3code/.git.path /home/runner/_work/_temp/git-credentials-6ee903c2-2b47-4ab1-b1c6-6d05751b0324.config
[command]/usr/local/bin/git config --local includeIf.gitdir:/home/runner/_work/t3code/t3code/.git/worktrees/*.path /home/runner/_work/_temp/git-credentials-6ee903c2-2b47-4ab1-b1c6-6d05751b0324.config
[command]/usr/local/bin/git config --local includeIf.gitdir:/github/workspace/.git.path /github/runner_temp/git-credentials-6ee903c2-2b47-4ab1-b1c6-6d05751b0324.config
[command]/usr/local/bin/git config --local includeIf.gitdir:/github/workspace/.git/worktrees/*.path /github/runner_temp/git-credentials-6ee903c2-2b47-4ab1-b1c6-6d05751b0324.config
▸ Fetching the repository
[command]/usr/local/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --filter=blob:none --depth=1 origin +ca3f6a08c937a0be1e3f6b058159a5968df5ec75:refs/remotes/pull/23463/merge
From https://github.com/pingdotgg/t3code
 * [new ref]         ca3f6a08c937a0be1e3f6b058159a5968df5ec75 -> pull/23463/merge
▸ Determining the checkout info
▸ Setting up sparse checkout
[command]/usr/local/bin/git config core.sparseCheckout true
[command]/usr/local/bin/git rev-parse --git-path info/sparse-checkout
.git/info/sparse-checkout
▸ Checking out the ref
[command]/usr/local/bin/git checkout --progress --force refs/remotes/pull/23463/merge
Updating files:   0% (1/7820)
Updating files:   1% (79/7820)
Updating files:   2% (157/7820)
Updating files:   3% (235/7820)
Updating files:   4% (313/7820)
Updating files:   5% (391/7820)
Updating files:   6% (470/7820)
Updating files:   7% (548/7820)
Updating files:   8% (626/7820)
Updating files:   9% (704/7820)
Updating files:  10% (782/7820)
Updating files:  11% (861/7820)
Updating files:  12% (939/7820)
Updating files:  13% (1017/7820)
Updating files:  14% (1095/7820)
Updating files:  15% (1173/7820)
Updating files:  16% (1252/7820)
Updating files:  17% (1330/7820)
Updating files:  18% (1408/7820)
Updating files:  19% (1486/7820)
Updating files:  20% (1564/7820)
Updating files:  21% (1643/7820)
Updating files:  22% (1721/7820)
Updating files:  23% (1799/7820)
Updating files:  24% (1877/7820)
Updating files:  25% (1955/7820)
Updating files:  26% (2034/7820)
Updating files:  27% (2112/7820)
Updating files:  28% (2190/7820)
Updating files:  29% (2268/7820)
Updating files:  30% (2346/7820)
Updating files:  31% (2425/7820)
Updating files:  32% (2503/7820)
Updating files:  33% (2581/7820)
Updating files:  34% (2659/7820)
Updating files:  35% (2737/7820)
Updating files:  36% (2816/7820)
Updating files:  37% (2894/7820)
Updating files:  38% (2972/7820)
Updating files:  39% (3050/7820)
Updating files:  40% (3128/7820)
Updating files:  41% (3207/7820)
Updating files:  42% (3285/7820)
Updating files:  43% (3363/7820)
Updating files:  44% (3441/7820)
Updating files:  45% (3519/7820)
Updating files:  46% (3598/7820)
Updating files:  47% (3676/7820)
Updating files:  48% (3754/7820)
Updating files:  49% (3832/7820)
Updating files:  50% (3910/7820)
Updating files:  51% (3989/7820)
Updating files:  52% (4067/7820)
Updating files:  53% (4145/7820)
Updating files:  54% (4223/7820)
Updating files:  55% (4301/7820)
Updating files:  56% (4380/7820)
Updating files:  57% (4458/7820)
Updating files:  58% (4536/7820)
Updating files:  59% (4614/7820)
Updating files:  60% (4692/7820)
Updating files:  61% (4771/7820)
Updating files:  62% (4849/7820)
Updating files:  63% (4927/7820)
Updating files:  64% (5005/7820)
Updating files:  65% (5083/7820)
Updating files:  66% (5162/7820)
Updating files:  67% (5240/7820)
Updating files:  68% (5318/7820)
Updating files:  69% (5396/7820)
Updating files:  70% (5474/7820)
Updating files:  71% (5553/7820)
Updating files:  72% (5631/7820)
Updating files:  73% (5709/7820)
Updating files:  74% (5787/7820)
Updating files:  75% (5865/7820)
Updating files:  76% (5944/7820)
Updating files:  77% (6022/7820)
Updating files:  78% (6100/7820)
Updating files:  79% (6178/7820)
Updating files:  80% (6256/7820)
Updating files:  81% (6335/7820)
Updating files:  82% (6413/7820)
Updating files:  83% (6491/7820)
Updating files:  84% (6569/7820)
Updating files:  85% (6647/7820)
Updating files:  86% (6726/7820)
Updating files:  87% (6804/7820)
Updating files:  88% (6882/7820)
Updating files:  89% (6960/7820)
Updating files:  90% (7038/7820)
Updating files:  91% (7117/7820)
Updating files:  92% (7195/7820)
Updating files:  93% (7273/7820)
Updating files:  94% (7351/7820)
Updating files:  95% (7429/7820)
Updating files:  96% (7508/7820)
Updating files:  97% (7586/7820)
Updating files:  98% (7664/7820)
Updating files:  99% (7742/7820)
Updating files: 100% (7820/7820)
Updating files: 100% (7820/7820), done.
Note: switching to 'refs/remotes/pull/23463/merge'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at ca3f6a0 Merge f32597da90a28595468b610533a90582e65f5ef2 into 8d236998d074799a6e88a495ba3112e87d6ab696
[command]/usr/local/bin/git log -1 --format=%H
ca3f6a08c937a0be1e3f6b058159a5968df5ec75
Prepare all required actions
▸ Run ./.github/actions/setup-apt-mirrors
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 259
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 478
  GITHUB_REPO_NAME: pingdotgg/t3code
##[start-action display=Run # Replace the existing Blacksmith mirror list as well as direct sources.;id=__self.__run]
▸ Run # Replace the existing Blacksmith mirror list as well as direct sources.
# Replace the existing Blacksmith mirror list as well as direct sources.
printf '%s\tpriority:%s\n' \
  https://archive.ubuntu.com/ubuntu 1 \
  https://mirrors.edge.kernel.org/ubuntu 2 \
  https://mirror.math.princeton.edu/pub/ubuntu 3 \
  | sudo tee /etc/apt/blacksmith-ubuntu-mirrors.txt > /dev/null

# APT's mirror transport retries each file against the next server.
sudo find /etc/apt -maxdepth 2 -type f \( -name '*.list' -o -name '*.sources' \) \
  -exec sed -i -E \
  's#https?://(([^/]+\.)?archive|security)\.ubuntu\.com/ubuntu/?#mirror+file:/etc/apt/blacksmith-ubuntu-mirrors.txt#g' {} +

# Move on to a fallback before an unreachable server exhausts the job.
printf '%s\n' 'Acquire::http::Timeout "15";' 'Acquire::https::Timeout "15";' \
  | sudo tee /etc/apt/apt.conf.d/80-mirror-timeouts > /dev/null
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 259
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 478
  GITHUB_REPO_NAME: pingdotgg/t3code
##[end-action id=__self.__run;outcome=success;conclusion=success;duration_ms=48]
▸ Run # Fetch only the indexes these main and universe packages need. The full set is ~42 MB,
# Fetch only the indexes these main and universe packages need. The full set is ~42 MB,
# which a slow mirror can stretch past the wait below.
sudo sed -i -e 's|http://|https://|g' -e 's/^Components: .*/Components: main universe/' \
  /etc/apt/blacksmith-ubuntu-mirrors.txt /etc/apt/sources.list.d/ubuntu.sources
(
  set +e
  sudo apt-get update -o Acquire::Languages=none \
    -o Acquire::IndexTargets::deb::DEP-11::DefaultEnabled=false \
    -o Acquire::IndexTargets::deb::CNF::DefaultEnabled=false &&
    sudo apt-get install -y libsecret-1-dev pkg-config
  echo "$?" > "$RUNNER_TEMP/apt-status"
) > "$RUNNER_TEMP/apt.log" 2>&1 < /dev/null &
shell: /usr/bin/bash -e {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 259
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 478
  GITHUB_REPO_NAME: pingdotgg/t3code
Prepare all required actions
Getting action download info
Download action repository 'actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9' (SHA:55cc8345863c7cc4c66a329aec7e433d2d1c52a9)
Download action repository 'voidzero-dev/setup-vp@250f29ce396baf5e8f24498e17c0dfdebabc26eb' (SHA:250f29ce396baf5e8f24498e17c0dfdebabc26eb)
▸ Run ./.github/actions/setup-ci-deps
with:
  task-cache-read-token: ***
  install: true
  save-pnpm-store: true
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 259
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 478
  GITHUB_REPO_NAME: pingdotgg/t3code
##[start-action display=Resolve Vite+ version;id=__self_2.vp]
▸ Run echo "version=$(sed -nE 's/^  vite-plus: ([0-9][^ ]*)$/\1/p' pnpm-workspace.yaml)" >> "$GITHUB_OUTPUT"
echo "version=$(sed -nE 's/^  vite-plus: ([0-9][^ ]*)$/\1/p' pnpm-workspace.yaml)" >> "$GITHUB_OUTPUT"
echo "node=$(jq -r '.engines.node' package.json)" >> "$GITHUB_OUTPUT"
echo "pnpm=$(jq -r '.packageManager' package.json)" >> "$GITHUB_OUTPUT"
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 259
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 478
  GITHUB_REPO_NAME: pingdotgg/t3code
##[end-action id=__self_2.vp;outcome=success;conclusion=success;duration_ms=13]
##[start-action display=Cache Vite+;id=__self_2.vp_cache]
▸ Run actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9
with:
  path: ~/.vite-plus
  key: vite-plus-home-v2-Linux-X64-1.4.0-node26.12.1-pnpm@12.14.0
  enableCrossOsArchive: false
  fail-on-cache-miss: false
  lookup-only: false
  save-always: false
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 259
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 478
  GITHUB_REPO_NAME: pingdotgg/t3code
Cache hit for: vite-plus-home-v2-Linux-X64-1.4.0-node26.12.1-pnpm@12.14.0
Received 173710845 of 173710845 (100.0%), 763.4 MBs/sec
Cache Size: ~166 MB (173710845 B)
[command]/usr/bin/tar -xf /home/runner/_work/_temp/be5f7ff7-1739-4b3b-b583-333f3d12417e/cache.tzst -P -C /home/runner/_work/t3code/t3code --use-compress-program unzstd
Cache restored successfully
Cache restored from key: vite-plus-home-v2-Linux-X64-1.4.0-node26.12.1-pnpm@12.14.0
##[end-action id=__self_2.vp_cache;outcome=success;conclusion=success;duration_ms=1195]
##[start-action display=Use cached Vite+;id=__self_2.__run]
▸ Run echo "$HOME/.vite-plus/bin" >> "$GITHUB_PATH"
echo "$HOME/.vite-plus/bin" >> "$GITHUB_PATH"
"$HOME/.vite-plus/bin/vp" env use "26.12.1"
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 259
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 478
  GITHUB_REPO_NAME: pingdotgg/t3code
Using Node.js v26.12.1 (resolved from 26.12.1)
##[end-action id=__self_2.__run;outcome=success;conclusion=success;duration_ms=14]
##[start-action display=Setup Vite+;id=__self_2.__voidzero-dev_setup-vp]
##[end-action id=__self_2.__voidzero-dev_setup-vp;outcome=skipped;conclusion=skipped;duration_ms=0]
##[start-action display=Resolve pnpm store;id=__self_2.pnpm_store]
▸ Run echo "path=$(vp pm cache dir)" >> "$GITHUB_OUTPUT"
echo "path=$(vp pm cache dir)" >> "$GITHUB_OUTPUT"
metadata_dir="${pnpm_config_cache_dir:-$RUNNER_TEMP/pnpm-metadata}"
echo "pnpm_config_cache_dir=$metadata_dir" >> "$GITHUB_ENV"
echo "verified=$metadata_dir/lockfile-verified.jsonl" >> "$GITHUB_OUTPUT"
if [[ -z "$INSTALL_ARGS" ]]; then
  echo "namespace=full" >> "$GITHUB_OUTPUT"
else
  echo "namespace=filtered-$(printf '%s' "$INSTALL_ARGS" | cksum | cut -d' ' -f1)" >> "$GITHUB_OUTPUT"
fi
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 259
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 478
  GITHUB_REPO_NAME: pingdotgg/t3code
  INSTALL_ARGS:
##[end-action id=__self_2.pnpm_store;outcome=success;conclusion=success;duration_ms=25]
##[start-action display=Restore pnpm store;id=__self_2.pnpm_cache]
▸ Run actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9
with:
  path: /home/runner/.local/share/pnpm/store/v11
  key: pnpm-full-v1-Linux-X64-17214a270767e7a67322391e1db82bb84559d862eb4628c0f7fc21e6622aaf25
  restore-keys: pnpm-full-v1-Linux-X64-17214a270767e7a67322391e1db82bb84559d862eb4628c0f7fc21e6622aaf25
pnpm-full-v1-Linux-X64-
pnpm-full-v1-Linux-X64-

  enableCrossOsArchive: false
  fail-on-cache-miss: false
  lookup-only: false
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 259
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 478
  GITHUB_REPO_NAME: pingdotgg/t3code
  pnpm_config_cache_dir: /home/runner/_work/_temp/pnpm-metadata
Cache hit for: pnpm-full-v1-Linux-X64-17214a270767e7a67322391e1db82bb84559d862eb4628c0f7fc21e6622aaf25
Received 805306368 of 1032319209 (78.0%), 737.0 MBs/sec
Received 1032319209 of 1032319209 (100.0%), 740.8 MBs/sec
Cache Size: ~984 MB (1032319209 B)
[command]/usr/bin/tar -xf /home/runner/_work/_temp/b2a5c26b-e43a-4467-a793-b07ba6f874e5/cache.tzst -P -C /home/runner/_work/t3code/t3code --use-compress-program unzstd
Cache restored successfully
Cache restored from key: pnpm-full-v1-Linux-X64-17214a270767e7a67322391e1db82bb84559d862eb4628c0f7fc21e6622aaf25
##[end-action id=__self_2.pnpm_cache;outcome=success;conclusion=success;duration_ms=5617]
##[start-action display=Restore lockfile verification;id=__self_2.pnpm_verified]
▸ Run actions/cache/restore@55cc8345863c7cc4c66a329aec7e433d2d1c52a9
with:
  path: /home/runner/_work/_temp/pnpm-metadata/lockfile-verified.jsonl
  key: pnpm-verified-v1-17214a270767e7a67322391e1db82bb84559d862eb4628c0f7fc21e6622aaf25
  enableCrossOsArchive: false
  fail-on-cache-miss: false
  lookup-only: false
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 259
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 478
  GITHUB_REPO_NAME: pingdotgg/t3code
  pnpm_config_cache_dir: /home/runner/_work/_temp/pnpm-metadata
Cache hit for: pnpm-verified-v1-17214a270767e7a67322391e1db82bb84559d862eb4628c0f7fc21e6622aaf25
Received 751 of 751 (100.0%), 0.1 MBs/sec
Cache Size: ~0 MB (751 B)
[command]/usr/bin/tar -xf /home/runner/_work/_temp/91974b43-dcb2-4a46-b1c0-a67dc165f389/cache.tzst -P -C /home/runner/_work/t3code/t3code --use-compress-program unzstd
Cache restored successfully
Cache restored from key: pnpm-verified-v1-17214a270767e7a67322391e1db82bb84559d862eb4628c0f7fc21e6622aaf25
##[end-action id=__self_2.pnpm_verified;outcome=success;conclusion=success;duration_ms=320]
##[start-action display=Install dependencies;id=__self_2.__run_2]
▸ Run vp install $INSTALL_ARGS
vp install $INSTALL_ARGS
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 259
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 478
  GITHUB_REPO_NAME: pingdotgg/t3code
  pnpm_config_cache_dir: /home/runner/_work/_temp/pnpm-metadata
  INSTALL_ARGS:
Scope: all 42 workspace projects
✓ Lockfile passes supply-chain policies (verified 6h ago)
Lockfile is up to date, resolution step is skipped
Packages are hard linked from the content-addressable store to the virtual store.
  Content-addressable store is at: /home/runner/.local/share/pnpm/store/v11
  Virtual store is at:             node_modules/.pnpm
Packages: +1676
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Progress: resolved 1676, reused 1672, downloaded 0, added 1676, done
Agent skills awaiting approval: e2e.
Run "pnpm approve" to review them.
. prepare$ vp config --no-agent
. prepare: Done

devDependencies:
+ @coderabbitai/config 1.2.0
+ @effect/tsgo 0.67.1
+ @shadcn/lint 0.1.5
+ @types/node 24.12.4
+ knip 6.34.0
+ vite-plus 1.4.0

Done in 1.3s using pnpm v12.14.0
##[end-action id=__self_2.__run_2;outcome=success;conclusion=success;duration_ms=1368]
##[start-action display=Save lockfile verification;id=__self_2.__actions_cache]
##[end-action id=__self_2.__actions_cache;outcome=skipped;conclusion=skipped;duration_ms=0]
##[start-action display=Save pnpm store;id=__self_2.__actions_cache_2]
##[end-action id=__self_2.__actions_cache_2;outcome=skipped;conclusion=skipped;duration_ms=0]
##[start-action display=Enable shared task cache;id=__self_2.__run_3]
▸ Run node infra/task-cache/scripts/install-ci.ts
node infra/task-cache/scripts/install-ci.ts
if [[ ( "$GITHUB_EVENT_NAME" == pull_request && "$GITHUB_BASE_REF" == main ) || ( "$GITHUB_EVENT_NAME" == push && "$GITHUB_REF" == refs/heads/main ) ]]; then
  echo 'VP_REMOTE_CACHE=read-write' >> "$GITHUB_ENV"
else
  echo 'VP_REMOTE_CACHE=read' >> "$GITHUB_ENV"
fi
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 259
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 478
  GITHUB_REPO_NAME: pingdotgg/t3code
  pnpm_config_cache_dir: /home/runner/_work/_temp/pnpm-metadata
  T3_TASK_CACHE_READ_TOKEN: ***
##[end-action id=__self_2.__run_3;outcome=success;conclusion=success;duration_ms=80]
▸ Run actions/cache@v6
with:
  path: ~/.cache/electron
  key: electron-Linux-X64-3fb4e59113ea0906ca0c12f3c10c35608f67358a938c4e8f1ebfc51531bc9b06
  enableCrossOsArchive: false
  fail-on-cache-miss: false
  lookup-only: false
  save-always: false
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 259
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 478
  GITHUB_REPO_NAME: pingdotgg/t3code
  pnpm_config_cache_dir: /home/runner/_work/_temp/pnpm-metadata
  BASH_ENV: /home/runner/_work/_temp/t3-task-cache.sh
  VP_REMOTE_CACHE: read-write
Cache hit for: electron-Linux-X64-3fb4e59113ea0906ca0c12f3c10c35608f67358a938c4e8f1ebfc51531bc9b06
Received 122762270 of 122762270 (100.0%), 713.9 MBs/sec
Cache Size: ~117 MB (122762270 B)
[command]/usr/bin/tar -xf /home/runner/_work/_temp/f892df75-081b-4723-95b9-5f6c56f0fc11/cache.tzst -P -C /home/runner/_work/t3code/t3code --use-compress-program unzstd
Cache restored successfully
Cache restored from key: electron-Linux-X64-3fb4e59113ea0906ca0c12f3c10c35608f67358a938c4e8f1ebfc51531bc9b06
▸ Run vp run --filter @t3tools/desktop ensure:electron
vp run --filter @t3tools/desktop ensure:electron
shell: /usr/bin/bash -e {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 259
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 478
  GITHUB_REPO_NAME: pingdotgg/t3code
  pnpm_config_cache_dir: /home/runner/_work/_temp/pnpm-metadata
  BASH_ENV: /home/runner/_work/_temp/t3-task-cache.sh
  VP_REMOTE_CACHE: read-write
~/apps/desktop$ node scripts/ensure-electron-runtime.mjs ⊘ cache disabled
/home/runner/_work/t3code/t3code/node_modules/.pnpm/electron@44.10.1_supports-color@8.1.1/node_modules/electron/dist/electron

▸ Run python3 -B .github/scripts/stage-preview-bundle.test.py
python3 -B .github/scripts/stage-preview-bundle.test.py
shell: /usr/bin/bash -e {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 259
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 478
  GITHUB_REPO_NAME: pingdotgg/t3code
  pnpm_config_cache_dir: /home/runner/_work/_temp/pnpm-metadata
  BASH_ENV: /home/runner/_work/_temp/t3-task-cache.sh
  VP_REMOTE_CACHE: read-write
......
----------------------------------------------------------------------
Ran 6 tests in 0.005s

OK
▸ Run node --test .github/scripts/check-nightly-release.test.cjs .github/scripts/vercel-deployment-output.test.cjs .github/scripts/mobile-preview-comment.test.cjs
node --test .github/scripts/check-nightly-release.test.cjs .github/scripts/vercel-deployment-output.test.cjs .github/scripts/mobile-preview-comment.test.cjs
shell: /usr/bin/bash -e {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 259
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 478
  GITHUB_REPO_NAME: pingdotgg/t3code
  pnpm_config_cache_dir: /home/runner/_work/_temp/pnpm-metadata
  BASH_ENV: /home/runner/_work/_temp/t3-task-cache.sh
  VP_REMOTE_CACHE: read-write
✔ allows preview releases from any branch without consulting main (0.655592ms)
✔ rejects a manual stable release from a feature branch (0.326861ms)
✔ rejects a manual nightly release from a feature branch (0.08341ms)
✔ rejects a release commit that is behind from main (0.123821ms)
✔ rejects a release commit that is diverged from main (0.08273ms)
✔ releases the first nightly when no nightly is published (0.861502ms)
✔ uses publication time, not release order or the tagged commit date (0.149451ms)
✔ the six-hour gap ends exactly six hours after publication (0.11189ms)
✔ stops reading releases once a nightly inside the gap is seen (0.12197ms)
✔ reads every page when no nightly seen so far settles the gap (0.221061ms)
✔ compares against the newest nightly across pages once the gap has passed (0.233511ms)
✔ ignores stable releases and drafts when checking the gap (0.11545ms)
✔ fails instead of releasing when GitHub cannot supply release state (0.706372ms)
✔ skips a candidate commit that is behind relative to the last nightly (0.12842ms)
✔ skips a candidate commit that is diverged relative to the last nightly (0.053701ms)
✔ stable releases resolve the commit of the newest published nightly (0.20785ms)
✔ stable releases derive the version from legacy nightly tags (0.137881ms)
✔ stable releases read every page, even after a recent nightly (0.0616ms)
✔ stable releases fail when no nightly is published (0.05464ms)
✔ the comment round-trips its state (1.933324ms)
✔ the build job adds the install link without losing the update (0.18636ms)
✔ a new fingerprint drops the old client; the same one keeps it (0.11323ms)
✔ a build that finishes after the PR moved to another fingerprint changes nothing (0.0805ms)
✔ state from the comment is always three strings (0.145851ms)
✔ hosted web: saves one deployment URL after plain URL (5.984995ms)
✔ hosted web: saves one deployment URL after lockfile warning (3.144768ms)
✔ hosted web: saves one deployment URL after trailing diagnostic (3.234378ms)
✔ hosted web: rejects missing URL without saving output (2.819558ms)
✔ hosted web: rejects invalid URL without saving output (2.333176ms)
✔ hosted web: rejects multiple URLs without saving output (3.077667ms)
✔ hosted web: rejects failed deployment without saving output (1.705365ms)
✔ marketing: saves one deployment URL after plain URL (4.31818ms)
✔ marketing: saves one deployment URL after lockfile warning (4.04134ms)
✔ marketing: saves one deployment URL after trailing diagnostic (3.859189ms)
✔ marketing: rejects missing URL without saving output (3.208128ms)
✔ marketing: rejects invalid URL without saving output (3.336938ms)
✔ marketing: rejects multiple URLs without saving output (3.476149ms)
✔ marketing: rejects failed deployment without saving output (3.042318ms)
✔ web preview: saves one deployment URL after plain URL (2.669557ms)
✔ web preview: saves one deployment URL after lockfile warning (2.747436ms)
✔ web preview: saves one deployment URL after trailing diagnostic (2.924997ms)
✔ web preview: rejects missing URL without saving output (2.554196ms)
✔ web preview: rejects invalid URL without saving output (2.196305ms)
✔ web preview: rejects multiple URLs without saving output (2.302766ms)
✔ web preview: rejects failed deployment without saving output (1.293463ms)
ℹ tests 45
ℹ suites 0
ℹ pass 45
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 110.682497
▸ Run until test -s "$RUNNER_TEMP/apt-status"; do sleep 1; done
until test -s "$RUNNER_TEMP/apt-status"; do sleep 1; done
cat "$RUNNER_TEMP/apt.log"
exit "$(cat "$RUNNER_TEMP/apt-status")"
shell: /usr/bin/bash -e {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 259
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 478
  GITHUB_REPO_NAME: pingdotgg/t3code
  pnpm_config_cache_dir: /home/runner/_work/_temp/pnpm-metadata
  BASH_ENV: /home/runner/_work/_temp/t3-task-cache.sh
  VP_REMOTE_CACHE: read-write
blacksmith: the apt mirror lists changed since the package indexes were staged; discarding the staged indexes
Get:1 file:/etc/apt/blacksmith-ubuntu-mirrors.txt Mirrorlist [151 B]
Hit:6 https://packages.microsoft.com/repos/azure-cli noble InRelease
Hit:7 https://packages.microsoft.com/ubuntu/24.04/prod noble InRelease
Get:8 https://dl.google.com/linux/chrome-stable/deb stable InRelease [2548 B]
Get:9 https://dl.google.com/linux/chrome-stable/deb stable/main amd64 Packages [1411 B]
Get:2 https://archive.ubuntu.com/ubuntu noble InRelease [256 kB]
Get:3 https://archive.ubuntu.com/ubuntu noble-updates InRelease [126 kB]
Get:4 https://archive.ubuntu.com/ubuntu noble-backports InRelease [126 kB]
Get:5 https://archive.ubuntu.com/ubuntu noble-security InRelease [126 kB]
Get:10 https://archive.ubuntu.com/ubuntu noble/universe amd64 Packages [15.0 MB]
Get:11 https://archive.ubuntu.com/ubuntu noble/main amd64 Packages [1401 kB]
Get:12 https://archive.ubuntu.com/ubuntu noble-updates/universe amd64 Packages [1711 kB]
Get:13 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages [1444 kB]
Get:14 https://archive.ubuntu.com/ubuntu noble-backports/universe amd64 Packages [31.0 kB]
Get:15 https://archive.ubuntu.com/ubuntu noble-backports/main amd64 Packages [40.6 kB]
Get:16 https://archive.ubuntu.com/ubuntu noble-security/main amd64 Packages [1160 kB]
Get:17 https://archive.ubuntu.com/ubuntu noble-security/universe amd64 Packages [1228 kB]
Fetched 22.7 MB in 3s (7748 kB/s)
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
pkg-config is already the newest version (1.8.1-2build1).
The following additional packages will be installed:
  bsdextrautils bsdutils eject fdisk gir1.2-glib-2.0 gir1.2-secret-1
  libblkid-dev libblkid1 libfdisk1 libgcrypt20 libgcrypt20-dev
  libgirepository-2.0-0 libglib2.0-0t64 libglib2.0-bin libglib2.0-data
  libglib2.0-dev libglib2.0-dev-bin libgpg-error-dev libmount-dev libmount1
  libsecret-1-0 libsecret-common libselinux1-dev libsepol-dev libsmartcols1
  libuuid1 mount util-linux uuid-dev uuid-runtime
Suggested packages:
  rng-tools libgcrypt20-doc low-memory-monitor gir1.2-glib-2.0-dev
  libglib2.0-doc libxml2-utils nfs-common util-linux-extra util-linux-locales
The following NEW packages will be installed:
  gir1.2-secret-1 libblkid-dev libgcrypt20-dev libgirepository-2.0-0
  libglib2.0-dev libglib2.0-dev-bin libgpg-error-dev libmount-dev
  libsecret-1-0 libsecret-1-dev libsecret-common libselinux1-dev libsepol-dev
  uuid-dev
The following packages will be upgraded:
  bsdextrautils bsdutils eject fdisk gir1.2-glib-2.0 libblkid1 libfdisk1
  libgcrypt20 libglib2.0-0t64 libglib2.0-bin libglib2.0-data libmount1
  libsmartcols1 libuuid1 mount util-linux uuid-runtime
17 upgraded, 14 newly installed, 0 to remove and 259 not upgraded.
Need to get 8378 kB of archives.
After this operation, 23.0 MB of additional disk space will be used.
Get:1 file:/etc/apt/blacksmith-ubuntu-mirrors.txt Mirrorlist [151 B]
Get:2 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 bsdutils amd64 1:2.39.3-9ubuntu6.6 [96.4 kB]
Get:3 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 util-linux amd64 2.39.3-9ubuntu6.6 [1128 kB]
Get:4 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 mount amd64 2.39.3-9ubuntu6.6 [118 kB]
Get:5 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libsmartcols1 amd64 2.39.3-9ubuntu6.6 [66.3 kB]
Get:6 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libuuid1 amd64 2.39.3-9ubuntu6.6 [36.6 kB]
Get:7 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 uuid-runtime amd64 2.39.3-9ubuntu6.6 [33.1 kB]
Get:8 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libblkid1 amd64 2.39.3-9ubuntu6.6 [124 kB]
Get:9 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libgcrypt20 amd64 1.10.3-2ubuntu0.2 [536 kB]
Get:10 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libmount1 amd64 2.39.3-9ubuntu6.6 [134 kB]
Get:11 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 eject amd64 2.39.3-9ubuntu6.6 [26.3 kB]
Get:12 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libglib2.0-data all 2.80.0-6ubuntu3.10 [50.2 kB]
Get:13 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libglib2.0-bin amd64 2.80.0-6ubuntu3.10 [97.9 kB]
Get:14 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 gir1.2-glib-2.0 amd64 2.80.0-6ubuntu3.10 [183 kB]
Get:15 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libglib2.0-0t64 amd64 2.80.0-6ubuntu3.10 [1548 kB]
Get:16 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libfdisk1 amd64 2.39.3-9ubuntu6.6 [146 kB]
Get:17 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 bsdextrautils amd64 2.39.3-9ubuntu6.6 [73.7 kB]
Get:18 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 fdisk amd64 2.39.3-9ubuntu6.6 [122 kB]
Get:19 https://archive.ubuntu.com/ubuntu noble/main amd64 libsecret-common all 0.21.4-1build3 [4962 B]
Get:20 https://archive.ubuntu.com/ubuntu noble/main amd64 libsecret-1-0 amd64 0.21.4-1build3 [116 kB]
Get:21 https://archive.ubuntu.com/ubuntu noble/main amd64 gir1.2-secret-1 amd64 0.21.4-1build3 [9424 B]
Get:22 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libgpg-error-dev amd64 1.47-3build2.1 [128 kB]
Get:23 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libgcrypt20-dev amd64 1.10.3-2ubuntu0.2 [596 kB]
Get:24 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libgirepository-2.0-0 amd64 2.80.0-6ubuntu3.10 [73.5 kB]
Get:25 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libglib2.0-dev-bin amd64 2.80.0-6ubuntu3.10 [138 kB]
Get:26 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 uuid-dev amd64 2.39.3-9ubuntu6.6 [33.5 kB]
Get:27 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libblkid-dev amd64 2.39.3-9ubuntu6.6 [205 kB]
Get:28 https://archive.ubuntu.com/ubuntu noble/main amd64 libsepol-dev amd64 3.5-2build1 [384 kB]
Get:29 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libselinux1-dev amd64 3.5-2ubuntu2.1 [164 kB]
Get:30 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libmount-dev amd64 2.39.3-9ubuntu6.6 [14.9 kB]
Get:31 https://archive.ubuntu.com/ubuntu noble-updates/main amd64 libglib2.0-dev amd64 2.80.0-6ubuntu3.10 [1861 kB]
Get:32 https://archive.ubuntu.com/ubuntu noble/universe amd64 libsecret-1-dev amd64 0.21.4-1build3 [129 kB]
Fetched 8378 kB in 1s (11.6 MB/s)
(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 ... 207973 files and directories currently installed.)
Preparing to unpack .../bsdutils_1%3a2.39.3-9ubuntu6.6_amd64.deb ...
Unpacking bsdutils (1:2.39.3-9ubuntu6.6) over (1:2.39.3-9ubuntu6.5) ...
Setting up bsdutils (1:2.39.3-9ubuntu6.6) ...
(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 ... 207973 files and directories currently installed.)
Preparing to unpack .../util-linux_2.39.3-9ubuntu6.6_amd64.deb ...
Unpacking util-linux (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ...
Setting up util-linux (2.39.3-9ubuntu6.6) ...
update-alternatives: warning: forcing reinstallation of alternative /usr/bin/less because link group pager is broken
update-alternatives: warning: skip creation of /usr/share/man/man1/pager.1.gz because associated file /usr/share/man/man1/less.1.gz (of link group pager) doesn't exist
fstrim.service is a disabled or a static unit not running, not starting it.
(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 ... 207973 files and directories currently installed.)
Preparing to unpack .../mount_2.39.3-9ubuntu6.6_amd64.deb ...
Unpacking mount (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ...
Preparing to unpack .../libsmartcols1_2.39.3-9ubuntu6.6_amd64.deb ...
Unpacking libsmartcols1:amd64 (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ...
Setting up libsmartcols1:amd64 (2.39.3-9ubuntu6.6) ...
(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 ... 207973 files and directories currently installed.)
Preparing to unpack .../libuuid1_2.39.3-9ubuntu6.6_amd64.deb ...
Unpacking libuuid1:amd64 (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ...
Setting up libuuid1:amd64 (2.39.3-9ubuntu6.6) ...
(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 ... 207973 files and directories currently installed.)
Preparing to unpack .../uuid-runtime_2.39.3-9ubuntu6.6_amd64.deb ...
Unpacking uuid-runtime (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ...
Preparing to unpack .../libblkid1_2.39.3-9ubuntu6.6_amd64.deb ...
Unpacking libblkid1:amd64 (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ...
Setting up libblkid1:amd64 (2.39.3-9ubuntu6.6) ...
(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 ... 207973 files and directories currently installed.)
Preparing to unpack .../libgcrypt20_1.10.3-2ubuntu0.2_amd64.deb ...
Unpacking libgcrypt20:amd64 (1.10.3-2ubuntu0.2) over (1.10.3-2ubuntu0.1) ...
Setting up libgcrypt20:amd64 (1.10.3-2ubuntu0.2) ...
(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 ... 207973 files and directories currently installed.)
Preparing to unpack .../libmount1_2.39.3-9ubuntu6.6_amd64.deb ...
Unpacking libmount1:amd64 (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ...
Setting up libmount1:amd64 (2.39.3-9ubuntu6.6) ...
(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 ... 207973 files and directories currently installed.)
Preparing to unpack .../00-eject_2.39.3-9ubuntu6.6_amd64.deb ...
Unpacking eject (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ...
Preparing to unpack .../01-libglib2.0-data_2.80.0-6ubuntu3.10_all.deb ...
Unpacking libglib2.0-data (2.80.0-6ubuntu3.10) over (2.80.0-6ubuntu3.8) ...
Preparing to unpack .../02-libglib2.0-bin_2.80.0-6ubuntu3.10_amd64.deb ...
Unpacking libglib2.0-bin (2.80.0-6ubuntu3.10) over (2.80.0-6ubuntu3.8) ...
Preparing to unpack .../03-gir1.2-glib-2.0_2.80.0-6ubuntu3.10_amd64.deb ...
Unpacking gir1.2-glib-2.0:amd64 (2.80.0-6ubuntu3.10) over (2.80.0-6ubuntu3.8) ...
Preparing to unpack .../04-libglib2.0-0t64_2.80.0-6ubuntu3.10_amd64.deb ...
Unpacking libglib2.0-0t64:amd64 (2.80.0-6ubuntu3.10) over (2.80.0-6ubuntu3.8) ...
Preparing to unpack .../05-libfdisk1_2.39.3-9ubuntu6.6_amd64.deb ...
Unpacking libfdisk1:amd64 (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ...
Preparing to unpack .../06-bsdextrautils_2.39.3-9ubuntu6.6_amd64.deb ...
Unpacking bsdextrautils (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ...
Preparing to unpack .../07-fdisk_2.39.3-9ubuntu6.6_amd64.deb ...
Unpacking fdisk (2.39.3-9ubuntu6.6) over (2.39.3-9ubuntu6.5) ...
Selecting previously unselected package libsecret-common.
Preparing to unpack .../08-libsecret-common_0.21.4-1build3_all.deb ...
Unpacking libsecret-common (0.21.4-1build3) ...
Selecting previously unselected package libsecret-1-0:amd64.
Preparing to unpack .../09-libsecret-1-0_0.21.4-1build3_amd64.deb ...
Unpacking libsecret-1-0:amd64 (0.21.4-1build3) ...
Selecting previously unselected package gir1.2-secret-1:amd64.
Preparing to unpack .../10-gir1.2-secret-1_0.21.4-1build3_amd64.deb ...
Unpacking gir1.2-secret-1:amd64 (0.21.4-1build3) ...
Selecting previously unselected package libgpg-error-dev.
Preparing to unpack .../11-libgpg-error-dev_1.47-3build2.1_amd64.deb ...
Unpacking libgpg-error-dev (1.47-3build2.1) ...
Selecting previously unselected package libgcrypt20-dev.
Preparing to unpack .../12-libgcrypt20-dev_1.10.3-2ubuntu0.2_amd64.deb ...
Unpacking libgcrypt20-dev (1.10.3-2ubuntu0.2) ...
Selecting previously unselected package libgirepository-2.0-0:amd64.
Preparing to unpack .../13-libgirepository-2.0-0_2.80.0-6ubuntu3.10_amd64.deb ...
Unpacking libgirepository-2.0-0:amd64 (2.80.0-6ubuntu3.10) ...
Selecting previously unselected package libglib2.0-dev-bin.
Preparing to unpack .../14-libglib2.0-dev-bin_2.80.0-6ubuntu3.10_amd64.deb ...
Unpacking libglib2.0-dev-bin (2.80.0-6ubuntu3.10) ...
Selecting previously unselected package uuid-dev:amd64.
Preparing to unpack .../15-uuid-dev_2.39.3-9ubuntu6.6_amd64.deb ...
Unpacking uuid-dev:amd64 (2.39.3-9ubuntu6.6) ...
Selecting previously unselected package libblkid-dev:amd64.
Preparing to unpack .../16-libblkid-dev_2.39.3-9ubuntu6.6_amd64.deb ...
Unpacking libblkid-dev:amd64 (2.39.3-9ubuntu6.6) ...
Selecting previously unselected package libsepol-dev:amd64.
Preparing to unpack .../17-libsepol-dev_3.5-2build1_amd64.deb ...
Unpacking libsepol-dev:amd64 (3.5-2build1) ...
Selecting previously unselected package libselinux1-dev:amd64.
Preparing to unpack .../18-libselinux1-dev_3.5-2ubuntu2.1_amd64.deb ...
Unpacking libselinux1-dev:amd64 (3.5-2ubuntu2.1) ...
Selecting previously unselected package libmount-dev:amd64.
Preparing to unpack .../19-libmount-dev_2.39.3-9ubuntu6.6_amd64.deb ...
Unpacking libmount-dev:amd64 (2.39.3-9ubuntu6.6) ...
Selecting previously unselected package libglib2.0-dev:amd64.
Preparing to unpack .../20-libglib2.0-dev_2.80.0-6ubuntu3.10_amd64.deb ...
Unpacking libglib2.0-dev:amd64 (2.80.0-6ubuntu3.10) ...
Selecting previously unselected package libsecret-1-dev:amd64.
Preparing to unpack .../21-libsecret-1-dev_0.21.4-1build3_amd64.deb ...
Unpacking libsecret-1-dev:amd64 (0.21.4-1build3) ...
Setting up bsdextrautils (2.39.3-9ubuntu6.6) ...
Setting up eject (2.39.3-9ubuntu6.6) ...
Setting up libglib2.0-0t64:amd64 (2.80.0-6ubuntu3.10) ...
Setting up libglib2.0-data (2.80.0-6ubuntu3.10) ...
Setting up libgpg-error-dev (1.47-3build2.1) ...
Setting up uuid-dev:amd64 (2.39.3-9ubuntu6.6) ...
Setting up libsepol-dev:amd64 (3.5-2build1) ...
Setting up gir1.2-glib-2.0:amd64 (2.80.0-6ubuntu3.10) ...
Setting up libfdisk1:amd64 (2.39.3-9ubuntu6.6) ...
Setting up mount (2.39.3-9ubuntu6.6) ...
Setting up uuid-runtime (2.39.3-9ubuntu6.6) ...
uuidd.service is a disabled or a static unit not running, not starting it.
Setting up libsecret-common (0.21.4-1build3) ...
Setting up libglib2.0-dev-bin (2.80.0-6ubuntu3.10) ...
Setting up libblkid-dev:amd64 (2.39.3-9ubuntu6.6) ...
Setting up libgirepository-2.0-0:amd64 (2.80.0-6ubuntu3.10) ...
Setting up libselinux1-dev:amd64 (3.5-2ubuntu2.1) ...
Setting up libglib2.0-bin (2.80.0-6ubuntu3.10) ...
Setting up fdisk (2.39.3-9ubuntu6.6) ...
Setting up libsecret-1-0:amd64 (0.21.4-1build3) ...
Setting up gir1.2-secret-1:amd64 (0.21.4-1build3) ...
Setting up libgcrypt20-dev (1.10.3-2ubuntu0.2) ...
Setting up libmount-dev:amd64 (2.39.3-9ubuntu6.6) ...
Setting up libglib2.0-dev:amd64 (2.80.0-6ubuntu3.10) ...
Setting up libsecret-1-dev:amd64 (0.21.4-1build3) ...
Processing triggers for libc-bin (2.39-0ubuntu8.8) ...
Processing triggers for man-db (2.12.0-4build2) ...
Not building database; man-db/auto-update is not 'true'.
Processing triggers for install-info (7.1-3build2) ...

Restarting services...
 systemctl restart esm-cache.service irqbalance.service packagekit.service php8.3-fpm.service polkit.service rsyslog.service systemd-journald.service systemd-manager.service systemd-networkd.service systemd-resolved.service systemd-timedated.service systemd-udevd.service udisks2.service
Failed to restart systemd-manager.service: Unit systemd-manager.service not found.

Service restarts being deferred:
 systemctl restart ModemManager.service
 systemctl restart dbus.service
 systemctl restart getty@tty1.service
 systemctl restart networkd-dispatcher.service
 systemctl restart serial-getty@ttyS0.service
 systemctl restart setup_and_run_blacksmith.service
 systemctl restart systemd-logind.service

No containers need to be restarted.

User sessions running outdated binaries:
 runner @ user manager service: systemd[1880]

No VM guests are running outdated hypervisor (qemu) binaries on this host.
▸ Run set -o pipefail
set -o pipefail
filters=(--filter '!t3' --filter '!@t3tools/monorepo' --filter '!@t3tools/web')
if [[ -n "$TEST_PACKAGES" ]]; then
  filters=()
  for package in $TEST_PACKAGES; do filters+=(--filter "$package"); done
fi
# The runner's trace writer can crash on surrogate pairs in test output.
vp run --parallel --concurrency-limit 4 "${filters[@]}" test 2>&1 | python3 -u -c '
import sys
for line in sys.stdin:
    sys.stdout.write(line.encode("ascii", "backslashreplace").decode("ascii"))
'
shell: /usr/bin/bash -e {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 259
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 478
  GITHUB_REPO_NAME: pingdotgg/t3code
  pnpm_config_cache_dir: /home/runner/_work/_temp/pnpm-metadata
  BASH_ENV: /home/runner/_work/_temp/t3-task-cache.sh
  VP_REMOTE_CACHE: read-write
  TEST_PACKAGES: @t3tools/desktop @t3tools/evals @t3tools/ssh @t3tools/scripts
~/apps/desktop$ vp test run --passWithNoTests \u2298 cache disabled
~/scripts$ vp test run --config ../vite.config.ts --dir . \u2298 cache disabled
~/evals$ vp test run --config ../vite.config.ts --dir . \u2298 cache disabled
~/packages/ssh$ vp test run --config ../../vite.config.ts --dir . \u2298 cache disabled


 RUN  v5.0.5 /home/runner/_work/t3code/t3code/evals
 RUN  v5.0.5 /home/runner/_work/t3code/t3code/apps/desktop



 RUN  v5.0.5 /home/runner/_work/t3code/t3code/scripts


 RUN  v5.0.5 /home/runner/_work/t3code/t3code/packages/ssh

 \u2713 src/auth.test.ts (6 tests) 138ms
 \u2713 test-signal/run.test.ts (5 tests) 5ms
stdout | src/command.test.ts > ssh command > preserves process output: default head
[09:56:43.443] WARN (#90): ssh.command.failed {
  alias: 'synthetic-fixture',
  hostname: 'synthetic-fixture',
  username: null,
  port: null,
  command: [
    'ssh',
    '-o',
    'BatchMode=yes',
    '-o',
    'ConnectTimeout=10',
    '-o',
    'ServerAliveInterval=15',
    '-o',
    'ServerAliveCountMax=3',
    '--',
    'synthetic-fixture'
  ],
  exitCode: 1,
  stdout: 'HEAD\n' +
    'verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbo\n' +
    '[truncated]',
  stderr: ''
}

 \u2713 src/config.test.ts (5 tests) 116ms
stdout | src/command.test.ts > ssh command > preserves process output: opt-in tail
[09:56:43.494] WARN (#125): ssh.command.failed {
  alias: 'synthetic-fixture',
  hostname: 'synthetic-fixture',
  username: null,
  port: null,
  command: [
    'ssh',
    '-o',
    'BatchMode=yes',
    '-o',
    'ConnectTimeout=10',
    '-o',
    'ServerAliveInterval=15',
    '-o',
    'ServerAliveCountMax=3',
    '--',
    'synthetic-fixture'
  ],
  exitCode: 1,
  stdout: '[truncated]\n' +
    'bose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix verbose-prefix {"credential":"[redacted]"}\n' +
    'PANIC: emulator SDK is broken\n',
  stderr: 'stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure stderr failure '
}

 \u2713 lib/third-party-licenses.test.ts (19 tests) 99ms
 \u2713 src/command.test.ts (8 tests) 197ms
stdout | src/tunnel.test.ts > ssh tunnel scripts > concurrent launches on one remote home record the server that owns it
[09:56:43.682] INFO (#860): ssh.remoteServer.launch.start {
  alias: 'devbox',
  hostname: 'devbox',
  username: null,
  port: null,
  runner: 'node-script',
  nodeScriptPath: '/tmp/t3-ssh-launch-2bCjmF/fake-t3.cjs',
  stateKey: '6a175896758606e2'
}
[09:56:43.690] INFO (#863): ssh.remoteServer.launch.start {
  alias: 'devbox-tailnet',
  hostname: 'devbox-tailnet',
  username: null,
  port: null,
  runner: 'node-script',
  nodeScriptPath: '/tmp/t3-ssh-launch-2bCjmF/fake-t3.cjs',
  stateKey: 'c5265fec5aa5f53f'
}

 \u2713 mcp-tool-use/file-link-grading.test.ts (3 tests) 14ms
 \u2713 mcp-tool-use/secret-grading.test.ts (461 tests) 250ms
 \u2713 notify-discord-release.test.ts (16 tests) 226ms
stderr | check-changed.test.ts > check:changed > tests every package when the shared test setup file packages/shared/src/testing/longTempDir.ts changes
Runs everything: packages/shared/src/testing/longTempDir.ts

stderr | check-changed.test.ts > check:changed > tests every package when the shared test setup file packages/shared/src/testing/providerEnv.ts changes
Runs everything: packages/shared/src/testing/providerEnv.ts

hint: Using 'master' as the name for the initial branch. This default branch name
hint: will change to "main" in Git 3.0. To configure the initial branch name
hint: to use in all of your new repositories, which will suppress this warning,
hint: call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
hint:
hint: Disable this message with "git config set advice.defaultBranchName false"
hint: Using 'master' as the name for the initial branch. This default branch name
hint: will change to "main" in Git 3.0. To configure the initial branch name
hint: to use in all of your new repositories, which will suppress this warning,
hint: call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
hint:
hint: Disable this message with "git config set advice.defaultBranchName false"
 \u2713 dev-runner.test.ts (36 tests) 149ms
hint: Using 'master' as the name for the initial branch. This default branch name
hint: will change to "main" in Git 3.0. To configure the initial branch name
hint: to use in all of your new repositories, which will suppress this warning,
hint: call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
hint:
hint: Disable this message with "git config set advice.defaultBranchName false"
 \u2713 pr-content/run.test.ts (7 tests) 730ms
   \u2713 rejects an empty case before requiring Codex or creating output 726ms
 \u2713 src/preview/BrowserImport/Sources.test.ts (35 tests) 611ms
 \u2713 lib/cli-external-packages.test.ts (12 tests) 364ms
   \u2713 external package dependency closure (2)
     \u2713 keeps every runtime dependency of an external package external too 341ms
 \u2713 build-cli-archive.test.ts (3 tests) 59ms
jsign: Unable to retrieve the certificate chain 'acct/profile'
Caused by: java.io.IOException: InternalError - An internal error has occurred.
jsign: Couldn't sign t3.exe
Caused by: java.security.GeneralSecurityException: java.io.IOException: InternalError - An internal error has occurred.
jsign: Unable to retrieve the certificate chain 'acct/profile'
Caused by: java.io.IOException: AADSTS7000215: Invalid client secret provided.
jsign: Unsupported file: t3.exe
jsign: Couldn't sign t3.exe
Caused by: java.security.GeneralSecurityException: java.io.IOException: InternalError - An internal error has occurred.
jsign: Couldn't sign t3.exe
Caused by: java.security.GeneralSecurityException: java.io.IOException: InternalError - An internal error has occurred.
jsign: Couldn't sign t3.exe
Caused by: java.security.GeneralSecurityException: java.io.IOException: InternalError - An internal error has occurred.
jsign: Couldn't sign t3.exe
Caused by: java.security.GeneralSecurityException: java.io.IOException: InternalError - An internal error has occurred.
 \u2713 lib/windows-jsign.test.ts (3 tests) 102ms
 \u2713 install.test.ts (9 tests | 1 skipped) 2287ms
   \u2713 installer channel lookup (2)
     \u2713 finds stable 1.2.3 behind nightlies and 1 HTTP 504s 1073ms
 \u2713 src/preview/DesktopBrowserHost.test.ts (38 tests) 221ms
 \u2713 lib/server-compile-cache.test.ts (11 tests) 1652ms
   \u2713 generates app.asar cache with the consumer engine and falls back after damage 379ms
   \u2713 generates server.asar cache with the consumer engine and falls back after damage 491ms
 \u2713 merge-update-manifests.test.ts (5 tests) 30ms
 \u2713 profile-startup.test.ts (2 tests) 873ms
   \u2713 captures only the dev runner and preserves its exit status 688ms
 \u2713 build-desktop-artifact.test.ts (50 tests) 2492ms
   \u2713 build-desktop-artifact (46)
     \u2713 rejects overlapping builds from another process until restoration finishes 828ms
 \u2713 lib/dev-share.test.ts (5 tests) 27ms
 \u2713 src/backend/DesktopBackendConfiguration.test.ts (17 tests) 273ms
 \u2713 src/window/DesktopWindow.test.ts (29 tests) 236ms
 \u2713 update-release-package-versions.test.ts (3 tests) 57ms
 \u2713 src/updates/DesktopRemoteUpdates.test.ts (26 tests) 432ms
 \u2713 src/preview/Manager.test.ts (67 tests) 908ms
 \u2713 mobile-native-client.test.ts (3 tests) 78ms
 \u2713 check-changed.test.ts (16 tests) 3607ms
   \u2713 checks changed source paths through the Windows launcher 684ms
   \u2713 lints an Astro component and runs knip when only it changed 671ms
   \u2713 reports a failing install step with its output 779ms
   \u2713 reports a failing lint step with its output 873ms
 \u2713 src/snapShot/DesktopSnapShot.test.ts (51 tests) 484ms
stdout | src/tunnel.test.ts > ssh tunnel scripts > concurrent launches on one remote home record the server that owns it
[09:56:47.446] INFO (#860): ssh.remoteServer.launch.ready {
  alias: 'devbox',
  hostname: 'devbox',
  username: null,
  port: null,
  remotePort: 3773,
  remoteServerKind: 'managed',
  stateKey: '6a175896758606e2'
}

 \u2713 src/updates/DesktopUpdates.test.ts (43 tests) 714ms
 \u2713 check-changed-command.test.ts (6 tests) 726ms
 \u2713 generate-release-notes.test.ts (5 tests) 25ms
 \u2713 src/backend/DesktopBackendManager.test.ts (12 tests) 797ms
   \u2713 DesktopBackendManager (12)
     \u2713 waits out a slow startup and reports one that never becomes ready 504ms
 \u2713 mobile-behavior/run.test.ts (5 tests) 9ms
 \u2713 prove-scenario.test.ts (8 tests) 14ms
 \u2713 mobile-e2e/checks.test.ts (2 tests) 12ms
stdout | src/tunnel.test.ts > ssh tunnel scripts > concurrent launches on one remote home record the server that owns it
[09:56:48.098] INFO (#863): ssh.remoteServer.launch.ready {
  alias: 'devbox-tailnet',
  hostname: 'devbox-tailnet',
  username: null,
  port: null,
  remotePort: 3773,
  remoteServerKind: 'external',
  stateKey: 'c5265fec5aa5f53f'
}

stdout | src/tunnel.test.ts > ssh tunnel scripts > concurrent launches on one remote home record the server that owns it
[09:56:48.117] INFO (#882): ssh.remoteServer.launch.start {
  alias: 'devbox',
  hostname: 'devbox',
  username: null,
  port: null,
  runner: 'node-script',
  nodeScriptPath: '/tmp/t3-ssh-launch-DejGEU/fake-t3.cjs',
  stateKey: '6a175896758606e2'
}
[09:56:48.124] INFO (#885): ssh.remoteServer.launch.start {
  alias: 'devbox-tailnet',
  hostname: 'devbox-tailnet',
  username: null,
  port: null,
  runner: 'node-script',
  nodeScriptPath: '/tmp/t3-ssh-launch-DejGEU/fake-t3.cjs',
  stateKey: 'c5265fec5aa5f53f'
}

 \u2713 build-npm-launcher.test.ts (2 tests) 4388ms
   \u2713 build-npm-launcher (2)
     \u2713 publishes a launcher that downloads, verifies, caches, and runs the release executable 3080ms
     \u2713 does not publish an unusable release 1291ms
 \u2713 render-metrics.test.ts (3 tests) 11ms
 \u2713 lib/public-config.test.ts (1 test) 8ms
 \u2713 mobile-showcase.test.ts (7 tests) 11ms
 \u2713 src/shell/DesktopShellEnvironment.test.ts (22 tests) 534ms
 \u2713 mock-update-server.test.ts (2 tests) 140ms
 \u2713 src/preview/BrowserImport/ChromiumCookies.test.ts (10 tests) 235ms
 \u2713 apply-web-brand-assets.test.ts (2 tests) 58ms
 \u2713 src/app/DesktopClerk.test.ts (15 tests) 208ms
 \u2713 lib/linux-arm64-sea.test.ts (4 tests) 3ms
 \u2713 src/app/DesktopCliCommand.test.ts (8 tests) 377ms
 \u2713 linux-after-pack.test.ts (1 test) 24ms
 \u2713 sync-reference-repos.test.ts (2 tests) 27ms
 \u2713 src/backend/DesktopServerExposure.test.ts (12 tests) 322ms
 \u2713 lib/resolve-catalog.test.ts (2 tests) 9ms
 \u2713 lib/sharded-tests.test.ts (1 test) 221ms
 \u2713 lib/build-target-arch.test.ts (1 test) 11ms
 \u2713 lib/icon-export.test.ts (1 test) 3ms
 \u2713 resolve-previous-release-tag.test.ts (3 tests) 13ms
 \u2713 mobile-native-static-check.test.ts (2 tests) 10ms
 \u2713 src/telemetry/DesktopTelemetryPublisher.test.ts (3 tests) 75ms
 \u2713 src/snapShot/snapShot.test.ts (39 tests) 34ms
 \u2713 src/preview/FaviconCapture.test.ts (24 tests) 53ms
 \u2713 src/settings/DesktopAppSettings.test.ts (13 tests) 194ms
 \u2713 src/app/DesktopLinuxUrlHandler.test.ts (16 tests) 2272ms
   \u2713 DesktopLinuxUrlHandler (11)
     \u2713 finishes registration after a timed-out update-desktop-database ignores SIGTERM 1096ms
     \u2713 finishes registration after a timed-out xdg-mime ignores SIGTERM 1080ms
 \u2713 src/ipc/methods/window.test.ts (13 tests) 111ms
 \u2713 src/preview/BrowserSession.test.ts (8 tests) 68ms
 \u2713 src/app/DesktopObservability.test.ts (6 tests) 268ms
 \u2713 src/wsl/DesktopWslServerTree.test.ts (8 tests) 282ms
 \u2713 src/preview/CdpRelay.test.ts (15 tests) 141ms
 \u2713 src/snapShot/PortalCaptureShortcut.test.ts (20 tests) 25ms
 \u2713 src/wsl/DesktopWslEnvironment.test.ts (18 tests) 2191ms
   \u2713 WSL runtime install script (executed) (12)
     \u2713 extracts once when two installs race for the same cache 1088ms
 \u2713 src/preview/BrowserImport/FirefoxCookies.test.ts (11 tests) 185ms
 \u2713 src/preview/Passkeys.test.ts (6 tests) 22ms
 \u2713 src/app/DesktopLifecycle.test.ts (7 tests) 41ms
 \u2713 src/snapShot/CaptureShortcutConfig.test.ts (16 tests) 115ms
 \u2713 knip-schemas.test.ts (1 test) 6385ms
   \u2713 allows types and schemas through the real Knip CLI without hiding runtime or file findings 6384ms
 \u2713 lib/cached-tests.test.ts (7 tests) 7326ms
   \u2713 cachedTestTasks (7)
     \u2713 reuses individual results, invalidates filesystem inputs, and never caches failures 7318ms

 Test Files  37 passed (37)
      Tests  260 passed | 1 skipped (261)
   Start at  09:56:42
   Duration  10.04s (tests 64%, setup 19%, import 9%, transform 7%, worker 1%)

    Isolate  37 workers spawned \xb7 ~167ms startup each (spawn + environment, per file)
             at least ~716ms faster with isolate: false \u2014 reuses workers across files instead of one per file


 \u2713 src/updates/releaseNotes.test.ts (14 tests) 6ms
 \u2713 src/snapShot/LinuxSnapShot.test.ts (19 tests) 65ms
 \u2713 src/window/DesktopApplicationMenu.test.ts (4 tests) 33ms
 \u2713 src/app/DesktopApp.test.ts (2 tests) 18ms
 \u2713 src/app/DesktopConnectionCatalogStore.test.ts (5 tests) 95ms
 \u2713 src/settings/DesktopClientSettings.test.ts (8 tests) 142ms
 \u2713 src/backend/DesktopBackendPool.test.ts (2 tests) 58ms
 \u2713 src/preview/GuestInput.test.ts (15 tests) 11ms
 \u2713 src/preview/BrowserImport/SafariCookies.test.ts (9 tests) 32ms
 \u2713 src/preview/BrowserImport/ChromiumKeys.test.ts (10 tests) 23ms
 \u2713 src/app/ClerkTokenStore.test.ts (6 tests) 12ms
 \u2713 src/app/DesktopPreReadyPlatform.test.ts (5 tests) 22ms
 \u2713 src/backend/DesktopLocalEnvironmentAuth.test.ts (3 tests) 61ms
 \u2713 src/snapShot/KdeSnapShot.test.ts (9 tests) 96ms
 \u2713 src/snapShot/NiriSnapShot.test.ts (18 tests) 199ms
 \u2713 src/snapShot/HyprlandSnapShot.test.ts (11 tests) 39ms
 \u2713 src/electron/ElectronProtocol.test.ts (4 tests) 84ms
 \u2713 src/app/DesktopStartupRecovery.test.ts (11 tests) 30ms
 \u2713 src/electron/ElectronWindow.test.ts (3 tests) 14ms
 \u2713 src/settings/DesktopSavedEnvironments.test.ts (3 tests) 109ms
 \u2713 scripts/electron-launcher.test.mjs (7 tests) 497ms
 \u2713 src/app/DesktopEarlyElectronStartup.test.ts (19 tests) 10ms
 \u2713 src/wsl/DesktopWslBackend.test.ts (1 test) 14ms
 \u2713 src/preview/BrowserImport/BrowserImport.test.ts (4 tests) 49ms
 \u2713 src/electron/ElectronShell.test.ts (9 tests) 17ms
 \u2713 src/app/DesktopAppIdentity.test.ts (5 tests) 21ms
 \u2713 src/window/ContextMenuImage.test.ts (15 tests) 80ms
 \u2713 src/snapShot/ActiveWindow.test.ts (16 tests) 17ms
 \u2713 src/snapShot/GnomeCaptureSetup.test.ts (11 tests) 170ms
 \u2713 src/app/DesktopUserData.test.ts (6 tests) 52ms
 \u2713 scripts/main-process-bundle.test.mjs (2 tests) 285ms
 \u2713 src/preview/PasskeyBridge.test.ts (3 tests) 7ms
 \u2713 src/updates/remoteUpdateFlow.test.ts (6 tests) 5ms
 \u2713 src/ssh/DesktopSshPasswordPrompts.test.ts (2 tests) 23ms
 \u2713 gnome-extension/captureFeedback.test.js (4 tests) 6ms
 \u2713 src/app/DesktopAppActivation.test.ts (3 tests) 35ms
 \u2713 src/window/QuitHold.test.ts (7 tests) 18ms
 \u2713 src/ipc/methods/wsl.test.ts (2 tests) 11ms
 \u2713 src/snapShot/captureConfigEdit.test.ts (24 tests) 24ms
 \u2713 src/legacyLocalStorageMerge.test.ts (7 tests) 3ms
 \u2713 gnome-extension/captureService.test.js (10 tests) 12ms
 \u2713 src/wsl/wslPathParsing.test.ts (12 tests) 6ms
 \u2713 src/updates/updateMachine.test.ts (4 tests) 7ms
 \u2713 src/ipc/methods/notificationBadge.test.ts (1 test) 23ms
 \u2713 src/app/CodexAuthCallback.test.ts (4 tests) 41ms
 \u2713 src/ipc/methods/preview.test.ts (5 tests) 14ms
 \u2713 src/permissions/MacPermissionHelper.test.ts (1 test) 4ms
 \u2713 src/app/DesktopCliShim.test.ts (4 tests) 78ms
 \u2713 src/linuxSecretStorage.test.ts (7 tests) 8ms
 \u2713 src/snapShot/RegionSnapShot.test.ts (4 tests) 8ms
 \u2713 src/electron/LinuxColorScheme.test.ts (3 tests) 6ms
 \u2713 src/ipc/methods/snapShot.test.ts (3 tests) 16ms
 \u2713 src/electron/ElectronApp.test.ts (5 tests) 23ms
 \u2713 mcp-tool-use/devices.test.ts (23 tests) 266ms
 \u2713 scripts/verify-preload-bundle.test.mjs (8 tests) 28ms
 \u2713 src/backend/tailscaleEndpointProvider.test.ts (3 tests) 11ms
 \u2713 src/permissions/MacSettingsWindow.test.ts (3 tests) 9ms
 \u2713 src/preview/BrowserImport/CookieDatabase.test.ts (2 tests) 68ms
 \u2713 src/ipc/methods/localEnvironment.test.ts (2 tests) 30ms
 \u2713 scripts/browser-secret-native.test.mjs (10 tests) 627ms
 \u2713 src/preview/PickedElementPayload.test.ts (2 tests) 2ms
 \u2713 src/snapShot/NativeCaptureFeedback.test.ts (2 tests) 9ms
 \u2713 src/preview/BrowserImport/SafariPermission.test.ts (2 tests) 33ms
 \u2713 ../../native/kde-snap-shot/src/activate.test.ts (2 tests) 7ms
 \u2713 src/app/DesktopWebLinks.test.ts (2 tests) 8ms
 \u2713 src/snapShot/SnapShotAccessibilityProcess.test.ts (3 tests) 7ms
 \u2713 src/preview/BrowserImport/LinuxBrowserSecret.test.ts (1 test) 45ms
 \u2713 src/ipc/DesktopIpc.test.ts (1 test) 15ms
 \u2713 src/electron/WindowsForegroundFocusThread.test.ts (2 tests) 5ms
 \u2713 mcp-tool-use/run.test.ts (485 tests) 1219ms

 Test Files  6 passed (6)
      Tests  984 passed (984)
   Start at  09:56:42
   Duration  15.27s (transform 66%, import 18%, setup 8%, tests 7%)

 \u2713 src/app/DesktopAppActivationBroker.test.ts (3 tests) 6ms

 \u2713 src/electron/WindowsForeground.test.ts (3 tests) 4ms
 \u2713 gnome-extension/feedbackGeometry.test.js (7 tests) 3ms
 \u2713 src/app/DesktopEnvironment.test.ts (2 tests) 22ms
 \u2713 src/electron/ElectronTheme.test.ts (4 tests) 8ms
 \u2713 src/app/DesktopPreReadyFileSystem.test.ts (1 test) 18ms
 \u2713 ../../native/kde-snap-shot/src/feedbackGeometry.test.ts (2 tests) 9ms
 \u2713 src/preview/WebviewPreferences.test.ts (2 tests) 4ms
 \u2713 src/snapShot/WindowsCaptureFeedback.test.ts (1 test) 2ms
 \u2713 src/preview/RecordingInput.test.ts (2 tests) 2ms
 \u2713 src/preview/AnnotationKeyboard.test.ts (1 test) 3ms
 \u2713 src/preview/AnnotationIds.test.ts (1 test) 4ms
 \u2713 src/ipc/methods/sshEnvironment.test.ts (1 test) 6ms

 Test Files  111 passed (111)
      Tests  1060 passed (1060)
   Start at  09:56:42
   Duration  15.67s (import 34%, transform 29%, setup 20%, tests 17%, worker 1%)

     Import  565 modules were evaluated 7873 times \xb7 32.40s total, 34% of tracked time
             ~3.33s faster with isolate: false \u2014 shared modules are evaluated once per worker instead of once per file
             learn more: https://vitest.dev/guide/improving-performance#test-isolation


stdout | src/tunnel.test.ts > ssh tunnel scripts > concurrent launches on one remote home record the server that owns it
[09:57:00.071] INFO (#882): ssh.remoteServer.launch.ready {
  alias: 'devbox',
  hostname: 'devbox',
  username: null,
  port: null,
  remotePort: 3773,
  remoteServerKind: 'managed',
  stateKey: '6a175896758606e2'
}

stdout | src/tunnel.test.ts > ssh tunnel scripts > concurrent launches on one remote home record the server that owns it
[09:57:00.572] INFO (#885): ssh.remoteServer.launch.ready {
  alias: 'devbox-tailnet',
  hostname: 'devbox-tailnet',
  username: null,
  port: null,
  remotePort: 3773,
  remoteServerKind: 'external',
  stateKey: 'c5265fec5aa5f53f'
}

stdout | src/tunnel.test.ts > managed server forwarded agent > keeps the forwarded agent reachable from the managed server while connected and across reconnect: short home
[09:57:00.578] INFO (#919): ssh.environment.ensure.start {
  alias: 'devbox',
  hostname: 'devbox',
  username: null,
  port: null,
  issuePairingToken: false
}

stdout | src/tunnel.test.ts > managed server forwarded agent > keeps the forwarded agent reachable from the managed server while connected and across reconnect: short home
[09:57:00.599] INFO (#919): ssh.remoteServer.launch.start {
  alias: 'devbox',
  hostname: 'devbox',
  username: 't3',
  port: 22,
  runner: 'node-script',
  nodeScriptPath: '/tmp/t3-ssh-agent-PRbo6E/server.cjs',
  stateKey: '5e7a2aca2c020c38'
}

stdout | src/tunnel.test.ts > managed server forwarded agent > keeps the forwarded agent reachable from the managed server while connected and across reconnect: short home
[09:57:00.743] INFO (#919): ssh.remoteServer.launch.ready {
  alias: 'devbox',
  hostname: 'devbox',
  username: 't3',
  port: 22,
  remotePort: 3773,
  remoteServerKind: 'managed',
  stateKey: '5e7a2aca2c020c38'
}

stdout | src/tunnel.test.ts > managed server forwarded agent > keeps the forwarded agent reachable from the managed server while connected and across reconnect: short home
[09:57:00.778] INFO (#919): ssh.tunnel.ready {
  alias: 'devbox',
  hostname: 'devbox',
  username: 't3',
  port: 22,
  command: [
    'ssh',
    '-o',
    'BatchMode=no',
    '-o',
    'ConnectTimeout=10',
    '-p',
    '22',
    '-o',
    'ExitOnForwardFailure=yes',
    '-o',
    'ControlMaster=no',
    '-o',
    'ControlPath=none',
    '-o',
    'ControlPersist=no',
    '-o',
    'ServerAliveInterval=15',
    '-o',
    'ServerAliveCountMax=3',
    '-T',
    '-L',
    '41800:127.0.0.1:3773',
    '--',
    't3@devbox',
    'sh',
    '-l',
    '-s',
    '--',
    '5e7a2aca2c020c38'
  ],
  pid: 12157,
  localPort: 41800,
  remotePort: 3773,
  httpBaseUrl: 'http://127.0.0.1:41800/'
}
[09:57:00.779] INFO (#919): ssh.environment.ensure.succeeded {
  alias: 'devbox',
  hostname: 'devbox',
  username: 't3',
  port: 22,
  key: 'devbox\x00devbox\x00t3\x0022',
  localPort: 41800,
  remotePort: 3773,
  remoteServerKind: 'managed',
  issuedPairingToken: false
}

stdout | src/tunnel.test.ts > managed server forwarded agent > keeps the forwarded agent reachable from the managed server while connected and across reconnect: short home
[09:57:00.782] INFO (#1001): ssh.remoteServer.stop.start {
  alias: 'devbox',
  hostname: 'devbox',
  username: 't3',
  port: 22,
  stateKey: '5e7a2aca2c020c38'
}

stdout | src/tunnel.test.ts > managed server forwarded agent > keeps the forwarded agent reachable from the managed server while connected and across reconnect: short home
[09:57:00.815] INFO (#1001): ssh.remoteServer.stop.succeeded {
  alias: 'devbox',
  hostname: 'devbox',
  username: 't3',
  port: 22,
  stateKey: '5e7a2aca2c020c38'
}
[09:57:00.815] INFO (#1001): ssh.tunnel.close.succeeded {
  alias: 'devbox',
  hostname: 'devbox',
  username: 't3',
  port: 22,
  key: 'devbox\x00devbox\x00t3\x0022',
  localPort: 41800,
  remotePort: 3773
}

stdout | src/tunnel.test.ts > managed server forwarded agent > keeps the forwarded agent reachable from the managed server while connected and across reconnect: short home
[09:57:00.818] ERROR (#919): Error [PlatformError]: NotFound: FileSystem.readFile (/tmp/t3-ssh-agent-PRbo6E/home/.t3/fake-server.json)
    at Module.systemError (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.1.2/node_modules/effect/dist/PlatformError.js:177:39)
    at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/@effect+platform-node-shared@4.1.2_bufferutil@4.1.0_effect@4.1.2_utf-8-validate@6.0.6/node_modules/@effect/platform-node-shared/dist/internal/utils.js:29:24
    at ReadFileContext.callback (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/@effect+platform-node-shared@4.1.2_bufferutil@4.1.0_effect@4.1.2_utf-8-validate@6.0.6/node_modules/@effect/platform-node-shared/dist/NodeFileSystem.js:374:74)
    at ReadFileJob.readFileAfterOneShot [as ondone] (node:fs:478:13) {
  reason: {
    _tag: 'NotFound',
    module: 'FileSystem',
    method: 'readFile',
    pathOrDescriptor: '/tmp/t3-ssh-agent-PRbo6E/home/.t3/fake-server.json',
    syscall: 'open',
    cause: [Error: ENOENT: no such file or directory, open '/tmp/t3-ssh-agent-PRbo6E/home/.t3/fake-server.json'] {
      errno: -2,
      code: 'ENOENT',
      syscall: 'open',
      path: '/tmp/t3-ssh-agent-PRbo6E/home/.t3/fake-server.json'
    }
  },
  _tag: 'PlatformError',
  '~effect/PlatformError': '~effect/PlatformError',
  [cause]: [Error: ENOENT: no such file or directory, open '/tmp/t3-ssh-agent-PRbo6E/home/.t3/fake-server.json'] {
    errno: -2,
    code: 'ENOENT',
    syscall: 'open',
    path: '/tmp/t3-ssh-agent-PRbo6E/home/.t3/fake-server.json',
    [cause]: undefined
  }
}

stdout | src/tunnel.test.ts > managed server forwarded agent > keeps the forwarded agent reachable from the managed server while connected and across reconnect: long home with a profile agent
[09:57:00.822] INFO (#1031): ssh.environment.ensure.start {
  alias: 'devbox',
  hostname: 'devbox',
  username: null,
  port: null,
  issuePairingToken: false
}

stdout | src/tunnel.test.ts > managed server forwarded agent > keeps the forwarded agent reachable from the managed server while connected and across reconnect: long home with a profile agent
[09:57:00.843] INFO (#1031): ssh.remoteServer.launch.start {
  alias: 'devbox',
  hostname: 'devbox',
  username: 't3',
  port: 22,
  runner: 'node-script',
  nodeScriptPath: '/tmp/t3-ssh-agent-qhF8e4/server.cjs',
  stateKey: '5e7a2aca2c020c38'
}

stdout | src/tunnel.test.ts > managed server forwarded agent > keeps the forwarded agent reachable from the managed server while connected and across reconnect: long home with a profile agent
[09:57:01.102] INFO (#1031): ssh.remoteServer.launch.ready {
  alias: 'devbox',
  hostname: 'devbox',
  username: 't3',
  port: 22,
  remotePort: 3773,
  remoteServerKind: 'managed',
  stateKey: '5e7a2aca2c020c38'
}

stdout | src/tunnel.test.ts > managed server forwarded agent > keeps the forwarded agent reachable from the managed server while connected and across reconnect: long home with a profile agent
[09:57:01.138] INFO (#1031): ssh.tunnel.ready {
  alias: 'devbox',
  hostname: 'devbox',
  username: 't3',
  port: 22,
  command: [
    'ssh',
    '-o',
    'BatchMode=no',
    '-o',
    'ConnectTimeout=10',
    '-p',
    '22',
    '-o',
    'ExitOnForwardFailure=yes',
    '-o',
    'ControlMaster=no',
    '-o',
    'ControlPath=none',
    '-o',
    'ControlPersist=no',
    '-o',
    'ServerAliveInterval=15',
    '-o',
    'ServerAliveCountMax=3',
    '-T',
    '-L',
    '41800:127.0.0.1:3773',
    '--',
    't3@devbox',
    'sh',
    '-l',
    '-s',
    '--',
    '5e7a2aca2c020c38'
  ],
  pid: 12283,
  localPort: 41800,
  remotePort: 3773,
  httpBaseUrl: 'http://127.0.0.1:41800/'
}
[09:57:01.138] INFO (#1031): ssh.environment.ensure.succeeded {
  alias: 'devbox',
  hostname: 'devbox',
  username: 't3',
  port: 22,
  key: 'devbox\x00devbox\x00t3\x0022',
  localPort: 41800,
  remotePort: 3773,
  remoteServerKind: 'managed',
  issuedPairingToken: false
}

stdout | src/tunnel.test.ts > managed server forwarded agent > keeps the forwarded agent reachable from the managed server while connected and across reconnect: long home with a profile agent
[09:57:01.142] INFO (#1113): ssh.remoteServer.stop.start {
  alias: 'devbox',
  hostname: 'devbox',
  username: 't3',
  port: 22,
  stateKey: '5e7a2aca2c020c38'
}

stdout | src/tunnel.test.ts > managed server forwarded agent > keeps the forwarded agent reachable from the managed server while connected and across reconnect: long home with a profile agent
[09:57:01.173] INFO (#1113): ssh.remoteServer.stop.succeeded {
  alias: 'devbox',
  hostname: 'devbox',
  username: 't3',
  port: 22,
  stateKey: '5e7a2aca2c020c38'
}
[09:57:01.173] INFO (#1113): ssh.tunnel.close.succeeded {
  alias: 'devbox',
  hostname: 'devbox',
  username: 't3',
  port: 22,
  key: 'devbox\x00devbox\x00t3\x0022',
  localPort: 41800,
  remotePort: 3773
}

stdout | src/tunnel.test.ts > managed server forwarded agent > keeps the forwarded agent reachable from the managed server while connected and across reconnect: long home with a profile agent
[09:57:01.175] ERROR (#1031): Error [PlatformError]: NotFound: FileSystem.readFile (/tmp/t3-ssh-agent-qhF8e4/home-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/.t3/fake-server.json)
    at Module.systemError (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/effect@4.1.2/node_modules/effect/dist/PlatformError.js:177:39)
    at file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/@effect+platform-node-shared@4.1.2_bufferutil@4.1.0_effect@4.1.2_utf-8-validate@6.0.6/node_modules/@effect/platform-node-shared/dist/internal/utils.js:29:24
    at ReadFileContext.callback (file:///home/runner/_work/t3code/t3code/node_modules/.pnpm/@effect+platform-node-shared@4.1.2_bufferutil@4.1.0_effect@4.1.2_utf-8-validate@6.0.6/node_modules/@effect/platform-node-shared/dist/NodeFileSystem.js:374:74)
    at ReadFileJob.readFileAfterOneShot [as ondone] (node:fs:478:13) {
  reason: {
    _tag: 'NotFound',
    module: 'FileSystem',
    method: 'readFile',
    pathOrDescriptor: '/tmp/t3-ssh-agent-qhF8e4/home-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/.t3/fake-server.json',
    syscall: 'open',
    cause: [Error: ENOENT: no such file or directory, open '/tmp/t3-ssh-agent-qhF8e4/home-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/.t3/fake-server.json'] {
      errno: -2,
      code: 'ENOENT',
      syscall: 'open',
      path: '/tmp/t3-ssh-agent-qhF8e4/home-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/.t3/fake-server.json'
    }
  },
  _tag: 'PlatformError',
  '~effect/PlatformError': '~effect/PlatformError',
  [cause]: [Error: ENOENT: no such file or directory, open '/tmp/t3-ssh-agent-qhF8e4/home-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/.t3/fake-server.json'] {
    errno: -2,
    code: 'ENOENT',
    syscall: 'open',
    path: '/tmp/t3-ssh-agent-qhF8e4/home-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/.t3/fake-server.json',
    [cause]: undefined
  }
}

 \u276f src/tunnel.test.ts (18 tests | 2 failed) 17851ms
   \u2713 ssh tunnel scripts (16)
     \u2713 rejects archive versions that are not a single exact version segment 9ms
     \u2713 only downloads a release archive the host can run: Darwin x86_64 22ms
     \u2713 only downloads a release archive the host can run: Darwin arm64 9ms
     \u2713 accepts launch JSON after remote shell startup noise 27ms
     \u2713 accepts pretty-printed pairing JSON after remote shell startup noise 6ms
     \u2713 retains a bounded diagnostic tail when the tunnel exits before readiness 60ms
     \u2713 reports the real exit when reading tunnel diagnostics fails 26ms
     \u2713 waits for the tunnel session before reporting the environment ready 47ms
     \u2713 waits for a tunnel whose ssh connection outlasts the readiness timeout 43ms
     \u2713 fails with a readiness error when ssh never connects 50ms
     \u2713 does not ask for a password when the ag\u2026 4ms
     \u2713 asks for a password when signing failur\u2026 5ms
     \u2713 asks for a password when the server rej\u2026 4ms
     \u2713 waits for local tunnel shutdown before reconnecting the same target 21ms
     \u2713 waits for remote server shutdown before reconnecting the same target 22ms
     \u2713 concurrent launches on one remote home record the server that owns it 16894ms
   \u276f managed server forwarded agent (2)
     \xd7 keeps the forwarded agent reachable from the managed server while connected and across reconnect: short home 245ms
     \xd7 keeps the forwarded agent reachable from the managed server while connected and across reconnect: long home with a profile agent 357ms

\u23af\u23af\u23af\u23af\u23af\u23af\u23af Failed Tests 2 \u23af\u23af\u23af\u23af\u23af\u23af\u23af

 FAIL  src/tunnel.test.ts > managed server forwarded agent > keeps the forwarded agent reachable from the managed server while connected and across reconnect: short home
PlatformError: NotFound: FileSystem.readFile (/tmp/t3-ssh-agent-PRbo6E/home/.t3/fake-server.json)
 \u276f Module.systemError ../../node_modules/.pnpm/effect@4.1.2/node_modules/effect/src/PlatformError.ts:238:22
 \u276f ../../node_modules/.pnpm/@effect+platform-node-shared@4.1.2_bufferutil@4.1.0_effect@4.1.2_utf-8-validate@6.0.6/node_modules/@effect/platform-node-shared/src/internal/utils.ts:44:24
 \u276f ReadFileContext.callback ../../node_modules/.pnpm/@effect+platform-node-shared@4.1.2_bufferutil@4.1.0_effect@4.1.2_utf-8-validate@6.0.6/node_modules/@effect/platform-node-shared/src/NodeFileSystem.ts:531:76

Caused by: Error: ENOENT: no such file or directory, open '/tmp/t3-ssh-agent-PRbo6E/home/.t3/fake-server.json'
\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af
Serialized Error: { errno: -2, code: 'ENOENT', syscall: 'open', path: '/tmp/t3-ssh-agent-PRbo6E/home/.t3/fake-server.json' }
\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af[1/2]\u23af

 FAIL  src/tunnel.test.ts > managed server forwarded agent > keeps the forwarded agent reachable from the managed server while connected and across reconnect: long home with a profile agent
PlatformError: NotFound: FileSystem.readFile (/tmp/t3-ssh-agent-qhF8e4/home-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/.t3/fake-server.json)
 \u276f Module.systemError ../../node_modules/.pnpm/effect@4.1.2/node_modules/effect/src/PlatformError.ts:238:22
 \u276f ../../node_modules/.pnpm/@effect+platform-node-shared@4.1.2_bufferutil@4.1.0_effect@4.1.2_utf-8-validate@6.0.6/node_modules/@effect/platform-node-shared/src/internal/utils.ts:44:24
 \u276f ReadFileContext.callback ../../node_modules/.pnpm/@effect+platform-node-shared@4.1.2_bufferutil@4.1.0_effect@4.1.2_utf-8-validate@6.0.6/node_modules/@effect/platform-node-shared/src/NodeFileSystem.ts:531:76

Caused by: Error: ENOENT: no such file or directory, open '/tmp/t3-ssh-agent-qhF8e4/home-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/.t3/fake-server.json'
\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af
Serialized Error: { errno: -2, code: 'ENOENT', syscall: 'open', path: '/tmp/t3-ssh-agent-qhF8e4/home-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/.t3/fake-server.json' }
\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af\u23af[2/2]\u23af


 Test Files  1 failed | 3 passed (4)
      Tests  2 failed | 35 passed (37)
   Start at  09:56:42
   Duration  18.75s (tests 90%, setup 6%, import 2%, transform 2%)


---
vp run: 3/4 successful. (Run `vp run --last-details` for full details)
Error: Process completed with exit code 1.
Post job cleanup.
##[start-action display=Cache Vite+;id=__82b0de2e-0cab-48db-a12a-e5c1d9be00fb.vp_cache]
##[end-action id=__82b0de2e-0cab-48db-a12a-e5c1d9be00fb.vp_cache;outcome=skipped;conclusion=skipped;duration_ms=0]
Post job cleanup.
[command]/usr/local/bin/git version
git version 2.55.0
Temporarily overriding HOME='/home/runner/_work/_temp/7b5f0102-5118-4256-b7ee-e6e59ec46d78' before making global git config changes
Adding repository directory to the temporary git global config as a safe directory
[command]/usr/local/bin/git config --global --add safe.directory /home/runner/_work/t3code/t3code
Removing SSH command configuration
[command]/usr/local/bin/git config --local --name-only --get-regexp core\.sshCommand
[command]/usr/local/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
fatal: No url found for submodule path '.repos/alchemy-effect/submodules/distilled' in .gitmodules
Warning: The process '/usr/local/bin/git' failed with exit code 128
A job completed hook has been configured by the self-hosted runner administrator
▸ Run '/job_completed.sh'
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 259
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 478
  BLACKSMITH_CHECK_RUN_ID: 130451245240
  BLACKSMITH_JOB_DISPLAY_NAME: Test
  GITHUB_ACTIONS_CACHE_MODE: write
Docker container cache not activated, skipping hash computation.
No active SSH sessions detected. Proceeding with shutdown immediately.
Cleaning up orphan processes
Terminate orphan process: pid (12250) (node-MainThread)