GitHub check

Whole log, 67 KB
Current runner version: '2.338.1'
Runner name: 'blacksmith-4vcpu-ubuntu-2404-uy3464zrrnl34dvv'
Runner group name: 'blacksmith scale sets - blacksmith-4vcpu-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)
Download action repository 'actions/upload-artifact@v7' (SHA:cf430e030ddbb5b0abf93d22962f4752f3646cd9)
Setting BLACKSMITH_ACTIONS_RESULTS_URL to https://results-receiver.actions.githubusercontent.com/
Complete job name: Test Server 4
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: 151
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 368
  BLACKSMITH_CHECK_RUN_ID: 120763809774
  BLACKSMITH_JOB_DISPLAY_NAME: Test Server 4
  GITHUB_ACTIONS_CACHE_MODE: write
Logging daemon started (blacksmithd for logs)
Results daemon started (blacksmithd for results)
Background adoption and SSH setup started (PID: 2889)

----------------------------------------
View this job: https://app.blacksmith.sh/pingdotgg/runs/40057565846/jobs/120763809774
SSH Access (using your GitHub SSH key):
  ssh -p 64000 runner@blacksmith-4vcpu-ubuntu-2404-uy3464zrrnl34dvv.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-4vcpu-ubuntu-2404-uy3464zrrnl34dvv
Host: production-152.236.39.133-x8664
Host Agent PID: 3415953
Host Agent Git SHA: 1637818df
Host CPU Manufacturer: AuthenticAMD
Blacksmith Host Generation: gen 2
Petname: production-large-joey-5b509625
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:
  fetch-depth: 2
  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-tags: false
  show-progress: true
  lfs: false
  submodules: false
  set-safe-directory: true
  allow-unsafe-pr-checkout: false
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 151
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 368
  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/503f9c2e-5a46-413b-b8df-400a68e26e65' 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-1cb51fba-9172-4402-8c95-6c0630957ca3.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-1cb51fba-9172-4402-8c95-6c0630957ca3.config
[command]/usr/local/bin/git config --local includeIf.gitdir:/home/runner/_work/t3code/t3code/.git/worktrees/*.path /home/runner/_work/_temp/git-credentials-1cb51fba-9172-4402-8c95-6c0630957ca3.config
[command]/usr/local/bin/git config --local includeIf.gitdir:/github/workspace/.git.path /github/runner_temp/git-credentials-1cb51fba-9172-4402-8c95-6c0630957ca3.config
[command]/usr/local/bin/git config --local includeIf.gitdir:/github/workspace/.git/worktrees/*.path /github/runner_temp/git-credentials-1cb51fba-9172-4402-8c95-6c0630957ca3.config
โ–ธ Fetching the repository
[command]/usr/local/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --filter=blob:none --depth=2 origin +70bd96282cbb46d52a9430c3baf5d16f0369048c:refs/remotes/origin/main
From https://github.com/pingdotgg/t3code
 * [new ref]         70bd96282cbb46d52a9430c3baf5d16f0369048c -> origin/main
[command]/usr/local/bin/git branch --list --remote origin/main
  origin/main
[command]/usr/local/bin/git rev-parse refs/remotes/origin/main
70bd96282cbb46d52a9430c3baf5d16f0369048c
โ–ธ 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 -B main refs/remotes/origin/main
Updating files:   0% (1/6319)
Updating files:   1% (64/6319)
Updating files:   2% (127/6319)
Updating files:   3% (190/6319)
Updating files:   4% (253/6319)
Updating files:   5% (316/6319)
Updating files:   6% (380/6319)
Updating files:   7% (443/6319)
Updating files:   8% (506/6319)
Updating files:   9% (569/6319)
Updating files:  10% (632/6319)
Updating files:  11% (696/6319)
Updating files:  12% (759/6319)
Updating files:  13% (822/6319)
Updating files:  14% (885/6319)
Updating files:  15% (948/6319)
Updating files:  16% (1012/6319)
Updating files:  17% (1075/6319)
Updating files:  18% (1138/6319)
Updating files:  19% (1201/6319)
Updating files:  20% (1264/6319)
Updating files:  21% (1327/6319)
Updating files:  22% (1391/6319)
Updating files:  23% (1454/6319)
Updating files:  24% (1517/6319)
Updating files:  25% (1580/6319)
Updating files:  26% (1643/6319)
Updating files:  27% (1707/6319)
Updating files:  28% (1770/6319)
Updating files:  29% (1833/6319)
Updating files:  30% (1896/6319)
Updating files:  31% (1959/6319)
Updating files:  32% (2023/6319)
Updating files:  33% (2086/6319)
Updating files:  34% (2149/6319)
Updating files:  35% (2212/6319)
Updating files:  36% (2275/6319)
Updating files:  37% (2339/6319)
Updating files:  38% (2402/6319)
Updating files:  39% (2465/6319)
Updating files:  40% (2528/6319)
Updating files:  41% (2591/6319)
Updating files:  42% (2654/6319)
Updating files:  43% (2718/6319)
Updating files:  44% (2781/6319)
Updating files:  45% (2844/6319)
Updating files:  46% (2907/6319)
Updating files:  47% (2970/6319)
Updating files:  48% (3034/6319)
Updating files:  49% (3097/6319)
Updating files:  50% (3160/6319)
Updating files:  51% (3223/6319)
Updating files:  52% (3286/6319)
Updating files:  53% (3350/6319)
Updating files:  54% (3413/6319)
Updating files:  55% (3476/6319)
Updating files:  56% (3539/6319)
Updating files:  57% (3602/6319)
Updating files:  58% (3666/6319)
Updating files:  59% (3729/6319)
Updating files:  60% (3792/6319)
Updating files:  61% (3855/6319)
Updating files:  62% (3918/6319)
Updating files:  63% (3981/6319)
Updating files:  64% (4045/6319)
Updating files:  65% (4108/6319)
Updating files:  66% (4171/6319)
Updating files:  67% (4234/6319)
Updating files:  68% (4297/6319)
Updating files:  69% (4361/6319)
Updating files:  70% (4424/6319)
Updating files:  71% (4487/6319)
Updating files:  72% (4550/6319)
Updating files:  73% (4613/6319)
Updating files:  74% (4677/6319)
Updating files:  75% (4740/6319)
Updating files:  76% (4803/6319)
Updating files:  77% (4866/6319)
Updating files:  78% (4929/6319)
Updating files:  79% (4993/6319)
Updating files:  80% (5056/6319)
Updating files:  81% (5119/6319)
Updating files:  82% (5182/6319)
Updating files:  83% (5245/6319)
Updating files:  84% (5308/6319)
Updating files:  85% (5372/6319)
Updating files:  86% (5435/6319)
Updating files:  87% (5498/6319)
Updating files:  88% (5561/6319)
Updating files:  89% (5624/6319)
Updating files:  90% (5688/6319)
Updating files:  91% (5751/6319)
Updating files:  92% (5814/6319)
Updating files:  93% (5877/6319)
Updating files:  94% (5940/6319)
Updating files:  95% (6004/6319)
Updating files:  96% (6067/6319)
Updating files:  97% (6130/6319)
Updating files:  98% (6193/6319)
Updating files:  99% (6256/6319)
Updating files: 100% (6319/6319)
Updating files: 100% (6319/6319), done.
Switched to a new branch 'main'
branch 'main' set up to track 'origin/main'.
[command]/usr/local/bin/git log -1 --format=%H
70bd96282cbb46d52a9430c3baf5d16f0369048c
Prepare all required actions
โ–ธ Run ./.github/actions/ci-changes
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 151
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 368
  GITHUB_REPO_NAME: pingdotgg/t3code
##[start-action display=Run set -uo pipefail;id=changes.detect]
โ–ธ Run set -uo pipefail
set -uo pipefail

decide() {
  node .github/scripts/ci-changes.cjs "$@" | tee -a "$GITHUB_OUTPUT"
  exit "${PIPESTATUS[0]}"
}

fail_open() {
  echo "$* Running every job."
  decide
}

# Reads the change from git rather than the REST API: every job that
# runs this shares the repository's 1,000 requests/hour GITHUB_TOKEN quota.
if [[ "$EVENT_NAME" == pull_request ]]; then
  # A pull request checks out GitHub's merge commit with fetch-depth: 2,
  # so its first parent is the base branch and the diff is the PR's change.
  base=HEAD^1
  mode=()
else
  base=$BEFORE_SHA
  git fetch --quiet --no-tags --depth=1 --filter=blob:none origin "$base" \
    || fail_open "Could not fetch ${base}."
  # main keeps a full run as the backstop for anything the gate misses.
  mode=(--full)
fi

# --no-renames lists a rename as its old and new path: renaming a file out
# of a package changes that package just like editing it. It also keeps
# git from fetching file contents to score renames.
git diff --name-only --no-renames "$base" HEAD > "$RUNNER_TEMP/changed-paths" \
  || fail_open "Could not diff against ${base}."
decide --paths "$RUNNER_TEMP/changed-paths" "${mode[@]}"
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 151
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 368
  GITHUB_REPO_NAME: pingdotgg/t3code
  EVENT_NAME: push
  BEFORE_SHA: 5b55036f8cf6090c83f835348525248e1f14b3b9
Affected packages: @t3tools/client-runtime, @t3tools/contracts, @t3tools/desktop, @t3tools/marketing, @t3tools/mobile, @t3tools/oxlint-plugin-t3code, @t3tools/provider-acp, @t3tools/provider-acp-registry, @t3tools/provider-core, @t3tools/provider-cursor, @t3tools/provider-grok, @t3tools/provider-muse, @t3tools/provider-opencode, @t3tools/provider-pi, @t3tools/provider-testing, @t3tools/scripts, @t3tools/shared, @t3tools/source-control-azure-devops, @t3tools/source-control-bitbucket, @t3tools/source-control-core, @t3tools/source-control-forgejo, @t3tools/source-control-gitcafe, @t3tools/source-control-github, @t3tools/source-control-gitlab, @t3tools/source-control-testing, @t3tools/ssh, @t3tools/tailscale, @t3tools/web, effect-acp, effect-codex-app-server, t3, t3code-relay
typecheck=true
build=true
test=true
test_packages=
test_web=true
test_server=true
rust=true
release_smoke=true
mobile_native=false
##[end-action id=changes.detect;outcome=success;conclusion=success;duration_ms=229]
Prepare all required actions
Getting action download info
Download action repository 'voidzero-dev/setup-vp@v1' (SHA:250f29ce396baf5e8f24498e17c0dfdebabc26eb)
โ–ธ Run ./.github/actions/setup-ci-deps
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 151
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 368
  GITHUB_REPO_NAME: pingdotgg/t3code
##[start-action display=Resolve Vite+ version;id=__self.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: 151
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 368
  GITHUB_REPO_NAME: pingdotgg/t3code
##[end-action id=__self.vp;outcome=success;conclusion=success;duration_ms=9]
##[start-action display=Cache Vite+;id=__self.vp_cache]
โ–ธ Run actions/cache@v6
with:
  path: ~/.vite-plus
  key: vite-plus-home-v2-Linux-X64-1.3.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: 151
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 368
  GITHUB_REPO_NAME: pingdotgg/t3code
Cache hit for: vite-plus-home-v2-Linux-X64-1.3.0-node26.12.1-pnpm@12.14.0
Received 170349591 of 170349591 (100.0%), 447.5 MBs/sec
Cache Size: ~162 MB (170349591 B)
[command]/usr/bin/tar -xf /home/runner/_work/_temp/a7c7a7bf-b529-4076-935d-051dae767d77/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.3.0-node26.12.1-pnpm@12.14.0
##[end-action id=__self.vp_cache;outcome=success;conclusion=success;duration_ms=1621]
##[start-action display=Use cached Vite+;id=__self.__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: 151
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 368
  GITHUB_REPO_NAME: pingdotgg/t3code
Using Node.js v26.12.1 (resolved from 26.12.1)
##[end-action id=__self.__run;outcome=success;conclusion=success;duration_ms=9]
##[start-action display=Setup Vite+;id=__self.__voidzero-dev_setup-vp]
##[end-action id=__self.__voidzero-dev_setup-vp;outcome=skipped;conclusion=skipped;duration_ms=0]
##[start-action display=Resolve pnpm store path;id=__self.pnpm_store]
โ–ธ Run store_path="$(vp pm cache dir)"
store_path="$(vp pm cache dir)"
echo "path=$store_path" >> "$GITHUB_OUTPUT"
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 151
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 368
  GITHUB_REPO_NAME: pingdotgg/t3code
##[end-action id=__self.pnpm_store;outcome=success;conclusion=success;duration_ms=15]
##[start-action display=Cache full pnpm store;id=__self.__actions_cache]
โ–ธ Run actions/cache@v6
with:
  path: /home/runner/.local/share/pnpm/store/v11
  key: pnpm-full-v1-Linux-X64-3cb0b4d7cff93dc8fe33f2ea73cac71ca25a36270fcb648b9b4a9320151012ef
  restore-keys: pnpm-full-v1-Linux-X64-

  enableCrossOsArchive: false
  fail-on-cache-miss: false
  lookup-only: false
  save-always: false
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 151
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 368
  GITHUB_REPO_NAME: pingdotgg/t3code
Cache hit for: pnpm-full-v1-Linux-X64-3cb0b4d7cff93dc8fe33f2ea73cac71ca25a36270fcb648b9b4a9320151012ef
Received 671088640 of 995020926 (67.4%), 622.0 MBs/sec
Received 995020926 of 995020926 (100.0%), 619.4 MBs/sec
Cache Size: ~949 MB (995020926 B)
[command]/usr/bin/tar -xf /home/runner/_work/_temp/395e55a1-4c41-49e8-8bcf-8ace18ed2e24/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-3cb0b4d7cff93dc8fe33f2ea73cac71ca25a36270fcb648b9b4a9320151012ef
##[end-action id=__self.__actions_cache;outcome=success;conclusion=success;duration_ms=6968]
##[start-action display=Install dependencies;id=__self.__run_2]
โ–ธ Run vp install
vp install
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 151
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 368
  GITHUB_REPO_NAME: pingdotgg/t3code
Scope: all 33 workspace projects
? Verifying lockfile against supply-chain policies (2088 entries)...
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
โœ“ Lockfile passes supply-chain policies (2088 entries in 2.6s)
Lockfile is up to date, resolution step is skipped
Packages: +1721
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Progress: resolved 1721, reused 1718, downloaded 0, added 1721, done
. prepare$ vp config --no-agent
. prepare: Done

devDependencies:
+ @coderabbitai/config 1.1.0
+ @shadcn/lint 0.1.5
+ @types/node 24.12.4
+ knip 6.34.0
+ typescript <- @tsc-rs/typescript 0.8.0
+ vite-plus 1.3.0

Done in 3.8s using pnpm v12.14.0
##[end-action id=__self.__run_2;outcome=success;conclusion=success;duration_ms=3843]
โ–ธ Run echo "version=$(node -p "require('./apps/server/node_modules/playwright-core/package.json').version")" >> "$GITHUB_OUTPUT"
echo "version=$(node -p "require('./apps/server/node_modules/playwright-core/package.json').version")" >> "$GITHUB_OUTPUT"
shell: /usr/bin/bash -e {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 151
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 368
  GITHUB_REPO_NAME: pingdotgg/t3code
โ–ธ Run actions/cache@v6
with:
  path: ~/.cache/ms-playwright
  key: playwright-chromium-shell-Linux-X64-1.60.0
  enableCrossOsArchive: false
  fail-on-cache-miss: false
  lookup-only: false
  save-always: false
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 151
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 368
  GITHUB_REPO_NAME: pingdotgg/t3code
Cache hit for: playwright-chromium-shell-Linux-X64-1.60.0
Received 106503405 of 106503405 (100.0%), 763.7 MBs/sec
Cache Size: ~102 MB (106503405 B)
[command]/usr/bin/tar -xf /home/runner/_work/_temp/0682d3e8-3b0d-4dc6-a7b2-05e654f09297/cache.tzst -P -C /home/runner/_work/t3code/t3code --use-compress-program unzstd
Cache restored successfully
Cache restored from key: playwright-chromium-shell-Linux-X64-1.60.0
โ–ธ Run browser=$(find "$HOME/.cache/ms-playwright" -name chrome-headless-shell -type f -print -quit)
browser=$(find "$HOME/.cache/ms-playwright" -name chrome-headless-shell -type f -print -quit)
test -n "$browser"
if ldd "$browser" | grep '=> not found'; then
  node apps/server/node_modules/playwright-core/cli.js install-deps chromium
fi
shell: /usr/bin/bash -e {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 151
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 368
  GITHUB_REPO_NAME: pingdotgg/t3code
โ–ธ Run vp run --filter t3 test --shard 4/8
vp run --filter t3 test --shard 4/8
shell: /usr/bin/bash -e {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 151
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 368
  GITHUB_REPO_NAME: pingdotgg/t3code
  T3CODE_TRANSFER_BUDGET_REPORT_PATH: /home/runner/_work/_temp/t3code-transfer-budget.md
  T3CODE_TRANSFER_BUDGET_RESULT_PATH: /home/runner/_work/_temp/thread-transfer-result.json
~/apps/server$ vp test run --shard 4/8 โŠ˜ cache disabled

 RUN  v5.0.5 /home/runner/_work/t3code/t3code/apps/server

 โœ“ src/orchestration-v2/FoundationPersistence.test.ts (39 tests) 1883ms
 โœ“ src/orchestration-v2/ThreadLaunchService.test.ts (39 tests) 2385ms
stdout | src/storageCleanup.test.ts > removes clean submodules recursively, including deinitialized repositories
[03:16:10.458] INFO (#45): storage cleanup removed worktree { threadId: 'thread-1' }

stdout | src/storageCleanup.test.ts > preserves late tracked edits when submodules were never initialized
[03:16:11.418] WARN (#1305): storage cleanup failed for worktree {
  threadId: 'thread-1',
  error: {
    _tag: 'GitCommandError',
    operation: 'StorageCleanup.cleanupGit',
    command: 'git worktree remove',
    cwd: '/tmp/cleanup-repo-lCHoQO',
    detail: "fatal: '/tmp/storage-cleanup-lXOfXm/worktrees/feature' contains modified or untracked files, use --force to delete it"
  }
}

stdout | src/storageCleanup.test.ts > storage cleanup reports and local file policies > reports allocated bytes of single-link files without following symlinks
[03:16:13.170] INFO (#5282): storage cleanup removed worktree { threadId: 'thread-1' }

stdout | src/storageCleanup.test.ts > storage cleanup reports and local file policies > counts the pnpm virtual store only when its store forces copies (same-device)
[03:16:13.225] INFO (#5392): storage cleanup removed worktree { threadId: 'thread-1' }

stdout | src/storageCleanup.test.ts > storage cleanup reports and local file policies > counts the pnpm virtual store only when its store forces copies (other-device)
[03:16:13.279] INFO (#5502): storage cleanup removed worktree { threadId: 'thread-1' }

stdout | src/storageCleanup.test.ts > storage cleanup reports and local file policies > counts the pnpm virtual store only when its store forces copies (no-manifest)
[03:16:13.332] INFO (#5612): storage cleanup removed worktree { threadId: 'thread-1' }

stdout | src/storageCleanup.test.ts > storage cleanup reports and local file policies > never stats a network pnpm store { storeDir: '\\attacker.test\s' }
[03:16:13.390] INFO (#5722): storage cleanup removed worktree { threadId: 'thread-1' }

stdout | src/storageCleanup.test.ts > storage cleanup reports and local file policies > never stats a network pnpm store { storeDir: '/local/store', โ€ฆ(1) }
[03:16:13.443] INFO (#5832): storage cleanup removed worktree { threadId: 'thread-1' }

stdout | src/storageCleanup.test.ts > storage cleanup reports and local file policies > still removes a worktree when measuring its size fails
[03:16:13.489] INFO (#5942): storage cleanup removed worktree { threadId: 'thread-1' }

stdout | src/storageCleanup.test.ts > storage cleanup reports and local file policies > does not measure a worktree kept for an open provider session
[03:16:13.710] INFO (#6427): storage cleanup removed worktree { threadId: 'thread-1' }

stdout | src/storageCleanup.test.ts > storage cleanup reports and local file policies > compares the checked-out branch without a full status
[03:16:13.770] WARN (#6552): storage cleanup failed for worktree {
  threadId: 'thread-1',
  error: {
    _tag: 'GitCommandError',
    operation: 'StorageCleanup.branchChanged',
    command: 'git',
    cwd: '/tmp/storage-cleanup-KHroav/worktrees/feature',
    detail: 'Git index is locked. Status will resume when the index lock is removed.'
  }
}

stdout | src/storageCleanup.test.ts > storage cleanup reports and local file policies > compares the checked-out branch without a full status
[03:16:13.800] INFO (#6552): storage cleanup removed worktree { threadId: 'thread-1' }

stdout | src/storageCleanup.test.ts > storage cleanup reports and local file policies > applies "uncommitted-changes"
[03:16:13.877] INFO (#6805): storage cleanup removed worktree { threadId: 'thread-1' }

stdout | src/storageCleanup.test.ts > storage cleanup reports and local file policies > applies "tracked-changes"
[03:16:13.937] INFO (#6910): storage cleanup removed worktree { threadId: 'thread-1' }

stdout | src/storageCleanup.test.ts > storage cleanup reports and local file policies > applies "tracked-changes"
[03:16:14.065] INFO (#7156): storage cleanup removed worktree { threadId: 'thread-1' }

stdout | src/storageCleanup.test.ts > storage cleanup reports and local file policies > discovers trunk without a remote HEAD or tracking ref and removes an integrated worktree
[03:16:14.295] INFO (#7470): storage cleanup removed worktree { threadId: 'thread-1' }

stdout | src/storageCleanup.test.ts > storage cleanup reports and local file policies > preserves tracked edits written after the final status check
[03:16:14.514] WARN (#7938): storage cleanup failed for worktree {
  threadId: 'thread-1',
  error: {
    _tag: 'GitCommandError',
    operation: 'StorageCleanup.cleanupGit',
    command: 'git worktree remove',
    cwd: '/tmp/cleanup-repo-h360jB',
    detail: "fatal: '/tmp/storage-cleanup-OXnkxp/worktrees/feature' contains modified or untracked files, use --force to delete it"
  }
}

stdout | src/storageCleanup.test.ts > storage cleanup reports and local file policies > caps entries while preserving totals and prioritizing removals
[03:16:14.569] INFO (#8048): storage cleanup removed worktree { threadId: 'thread-1' }

stdout | src/storageCleanup.test.ts > storage cleanup reports and local file policies > serializes concurrent requests and returns each run's report
[03:16:14.668] INFO (#8226): storage cleanup removed worktree { threadId: 'thread-1' }

stdout | src/storageCleanup.test.ts > storage cleanup reports and local file policies > reports git failures without aborting the remaining categories
[03:16:14.740] WARN (#8386): storage cleanup failed for worktree {
  threadId: 'thread-1',
  error: {
    _tag: 'GitCommandError',
    operation: 'StorageCleanup.cleanupGit',
    command: 'git worktree remove',
    cwd: '/tmp/cleanup-repo-IaVpeL',
    detail: 'fatal: cannot remove a locked working tree;'
  }
}

stdout | src/storageCleanup.test.ts > keeps saved usage data when removing a settled checkout
[03:16:14.854] INFO (#8648): storage cleanup removed worktree { threadId: 'thread-1' }

 โœ“ src/storageCleanup.test.ts (122 tests) 4664ms
   โœ“ keeps nested submodule files protected by the current keep rule 316ms
   โœ“ keeps unpushed submodule history after checkout and deinitialization 398ms
 โœ“ src/serverSettings.test.ts (47 tests) 968ms
 โœ“ src/orchestration-v2/Adapters/AcpRegistryAdapterV2.test.ts (14 tests) 690ms
stdout | src/terminal/Manager.test.ts > TerminalManager > restarts with current provider secrets and clears bounded history
[03:16:18.748] INFO (#383): Migrations ran successfully {
  migrations: [
    '1_OrchestrationEvents',
    '2_OrchestrationCommandReceipts',
    '3_CheckpointDiffBlobs',
    '4_ProviderSessionRuntime',
    '5_Projections',
    '6_ProjectionThreadSessionRuntimeModeColumns',
    '7_ProjectionThreadMessageAttachments',
    '8_ProjectionThreadActivitySequence',
    '9_ProviderSessionRuntimeMode',
    '10_ProjectionThreadsRuntimeMode',
    '11_OrchestrationThreadCreatedRuntimeMode',
    '12_ProjectionThreadsInteractionMode',
    '13_ProjectionThreadProposedPlans',
    '14_ProjectionThreadProposedPlanImplementation',
    '15_ProjectionTurnsSourceProposedPlan',
    '16_CanonicalizeModelSelections',
    '17_ProjectionThreadsArchivedAt',
    '18_ProjectionThreadsArchivedAtIndex',
    '19_ProjectionSnapshotLookupIndexes',
    '20_AuthAccessManagement',
    '21_AuthSessionClientMetadata',
    '22_AuthSessionLastConnectedAt',
    '23_ProjectionThreadShellSummary',
    '24_BackfillProjectionThreadShellSummary',
    '25_CleanupInvalidProjectionPendingApprovals',
    '26_CanonicalizeModelSelectionOptions',
    '27_ProviderSessionRuntimeInstanceId',
    '28_ProjectionThreadSessionInstanceId',
    '29_ProjectionThreadDetailOrderingIndexes',
    '30_ProjectionThreadShellArchiveIndexes',
    '31_AuthAuthorizationScopes',
    '32_AuthPairingProofKeyThumbprint',
    '33_ProjectionThreadsSettled',
    '34_ProjectionThreadsSnoozed',
    '35_ProjectionThreadTitleRegeneration',
    '36_ProjectionThreadsPinned',
    '37_ProjectionTurnsKeysetIndex',
    '38_ProjectionThreadsPinOrderKey',
    '39_ProjectionProjectsDefaultThreadEnvMode',
    '40_ProjectionProjectFaviconPath',
    '41_AuthSessionClientConnection',
    '42_ProjectionThreadLinkedPullRequest',
    '43_ProjectionThreadsUnsettledAt',
    '44_ClearAutomaticProjectModelDefaults',
    '45_ProjectionProjectsAutoPull',
    '46_RepairAutomaticSettlementTimestamps',
    '47_ProjectionProjectIcon',
    '48_ProjectionThreadBranchPullRequest',
    '49_ProjectionThreadsActiveOrderKey',
    '50_ProjectionThreadPullRequests',
    '51_ProjectionThreadMessageContext',
    '52_ProjectionThreadTitleState',
    '53_PullRequestFilesViewed',
    '54_ProjectionThreadsAutoSettleDisabledAt',
    '55_OrchestrationV2',
    '56_RemoveRedundantProjectionIndexes',
    '57_ScheduledTaskWebhooks',
    '58_WebhookRelayDeliveries',
    '59_McpAppModelContext',
    '60_ThreadSnapshotWindowIndexes',
    '61_PullRequestReviewGuides',
    '62_ThreadFailureLookupIndex',
    '63_DropUnusedV1Projections',
    '64_CanonicalizeThreadPullRequestLinks',
    '65_CodexUsageNativeTurnIndex',
    '66_RepairClientSettlementTimestamps',
    '67_WebhookDedupe',
    '68_ShellStopRequestIndex'
  ]
}

 โœ“ src/terminal/Manager.test.ts (43 tests) 753ms
 โœ“ src/orchestration-v2/Orchestrator.control-reads.test.ts (11 tests) 486ms
 โœ“ src/orchestration-v2/SteeringCompletion.integration.test.ts (13 tests) 6226ms
   โœ“ keeps a queued message queued when promoted into a run that Stop reached 2141ms
   โœ“ queues a plain send behind the stopped queue and releases its hold 2152ms
 โœ“ src/cloud/bootService.test.ts (33 tests) 112ms
 โœ“ src/mcp/toolkits/core.test.ts (15 tests) 73ms
 โœ“ src/provider/acp/AcpSessionRuntime.processTree.test.ts (17 tests) 843ms
 โœ“ src/workspace/WorkspaceFileSystem.test.ts (21 tests) 55ms
 โœ“ src/project/ProjectService.test.ts (13 tests) 168ms
 โœ“ src/orchestration-v2/ContextHandoffBudget.test.ts (17 tests) 149ms
 โœ“ src/orchestration-v2/Adapters/GrokAdapterV2.test.ts (10 tests) 72ms
 โœ“ src/mcp/OrchestratorMcpService.activity.test.ts (3 tests) 11ms
 โœ“ src/sourceControl/SourceControlProviderRegistry.test.ts (12 tests) 42ms
 โœ“ src/resourceTelemetry/Model.test.ts (12 tests) 6ms
 โœ“ src/provider/acp/AntigravityProtocol.test.ts (36 tests) 9ms
 โœ“ scripts/migrate-dev-db.test.ts (7 tests) 237ms
 โœ“ src/orchestration-v2/testkit/ClaudeReplayFixtures.integration.test.ts (38 tests) 12368ms
   โœ“ Claude Agent SDK replay fixtures (38)
     โœ“ runs claude_background_subagent_after_root/claudeAgent through OrchestratorV2 using deterministic replay 464ms
     โœ“ runs claude_background_subagent_lifecycle/claudeAgent through OrchestratorV2 using deterministic replay 913ms
     โœ“ runs claude_background_wake_before_queued_prompt/claudeAgent through OrchestratorV2 using deterministic replay 770ms
     โœ“ runs claude_background_wake_before_queued_prompt_no_echo/claudeAgent through OrchestratorV2 using deterministic replay 727ms
     โœ“ runs claude_compact_after_resume_wake/claudeAgent through OrchestratorV2 using deterministic replay 328ms
     โœ“ runs claude_compact_after_peer_turn/claudeAgent through OrchestratorV2 using deterministic replay 372ms
     โœ“ runs claude_background_task_wake/claudeAgent through OrchestratorV2 using deterministic replay 376ms
     โœ“ runs claude_nested_background_subagent_wake/claudeAgent through OrchestratorV2 using deterministic replay 312ms
     โœ“ runs claude_idle_resume/claudeAgent through OrchestratorV2 using deterministic replay 307ms
     โœ“ runs thread_rollback/claudeAgent through OrchestratorV2 using deterministic replay 425ms
     โœ“ refuses messages to a native subagent thread without touching it 1123ms
     โœ“ streams a subagent's foreground Bash output live during the root turn 312ms
     โœ“ ends a background subagent's open WebFetch (opened while root is idle) when its notification is stopped 316ms
     โœ“ ends a background subagent's open Write (opened before root settles) when its notification is failed 310ms
 โœ“ src/orchestration-v2/ThreadPullRequestService.test.ts (6 tests) 14ms
 โœ“ src/environment/ServerEnvironment.test.ts (6 tests) 79ms
 โœ“ src/device/ExpoApi.test.ts (7 tests) 24ms
 โœ“ src/project/ProjectEnrichmentService.test.ts (4 tests) 14ms
 โœ“ src/provider/codexUsageLimits.test.ts (15 tests) 5ms
 โœ“ src/sourceControl/gitHubChangeRequestTemplate.test.ts (10 tests) 242ms
 โœ“ src/orchestration-v2/http.test.ts (1 test) 1577ms
   โœ“ exports full history with size, scope, and missing-thread checks 1576ms
 โœ“ src/persistence/OrchestrationEventStore.sequence.test.ts (2 tests) 133ms
 โœ“ src/provider/ClaudeModelCatalog.test.ts (4 tests) 3ms
 โœ“ src/persistence/Migrations/046_RepairAutomaticSettlementTimestamps.test.ts (1 test) 23ms
 โœ“ src/environment/DirectEndpoints.test.ts (7 tests) 12ms
 โœ“ src/git/linkCreatedPullRequest.test.ts (4 tests) 6ms
 โœ“ src/auth/ServerSecretStore.test.ts (4 tests) 15ms
 โœ“ src/orchestration-v2/ThreadLiveEventCoalescer.test.ts (7 tests) 11ms
 โœ“ src/persistence/DatabaseMaintenance.test.ts (3 tests) 92ms
 โœ“ src/preview/PreviewBrowserHost.test.ts (2 tests) 6ms
 โœ“ src/cloud/environmentKeys.test.ts (3 tests) 13ms
 โœ“ src/orchestration-v2/ProviderSessionTransitionPolicy.test.ts (5 tests) 2ms
 โœ“ src/provider/Drivers/claudeUsage.test.ts (3 tests) 2ms
 โœ“ src/scheduledTasks/webhookFilter.test.ts (4 tests) 2ms
 โœ“ src/cloud/traceRelayRequest.test.ts (2 tests) 6ms
 โœ“ src/provider/ProviderInstanceRegistryHydration.test.ts (4 tests) 2ms
 โœ“ src/usage/UsageLimitSources.test.ts (1 test) 8ms
 โœ“ src/provider/CodexThreadRevert.test.ts (2 tests) 11ms
 โœ“ src/git/GitWorkflowService.test.ts (1 test) 46ms
 โœ“ src/persistence/Migrations/057_ScheduledTaskWebhooks.test.ts (1 test) 35ms
 โœ“ src/orchestration-v2/QueuedRunOrder.test.ts (1 test) 2ms
 โœ“ src/cli/connect.test.ts (1 test) 3ms
 โœ“ src/launcherWatch.test.ts (1 test) 4ms
 โœ“ src/orchestration-v2/testkit/MuseReplayFixtures.integration.test.ts (8 tests) 2155ms
   โœ“ Muse replay fixtures (8)
     โœ“ runs simple/muse through OrchestratorV2 using deterministic replay 330ms
     โœ“ runs multi_turn/muse through OrchestratorV2 using deterministic replay 303ms
     โœ“ runs muse_permission/muse through OrchestratorV2 using deterministic replay 345ms
     โœ“ runs muse_workflow/muse through OrchestratorV2 using deterministic replay 354ms

 Test Files  51 passed (51)
      Tests  682 passed (682)
   Start at  03:16:00
   Duration  64.07s (tests 60%, import 31%, transform 7%, setup 2%)

     Import  1270 modules were evaluated 14787 times ยท 18.98s total, 31% of tracked time
             ~17.35s faster with isolate: false โ€” shared modules are evaluated once per worker instead of once per file
             learn more: https://vitest.dev/guide/improving-performance#test-isolation


โ–ธ Run if test -f "/home/runner/_work/_temp/thread-transfer-result.json"; then
if test -f "/home/runner/_work/_temp/thread-transfer-result.json"; then
  echo "present=true" >> "$GITHUB_OUTPUT"
else
  echo "present=false" >> "$GITHUB_OUTPUT"
fi
shell: /usr/bin/bash -e {0}
env:
  BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 151
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 368
  GITHUB_REPO_NAME: pingdotgg/t3code
Post job cleanup.
Cache hit occurred on the primary key playwright-chromium-shell-Linux-X64-1.60.0, not saving cache.
Post job cleanup.
##[start-action display=Cache full pnpm store;id=__cfbce2f7-c36a-4fe8-ad26-a98235c526bc.__actions_cache]
Post job cleanup.
Cache hit occurred on the primary key pnpm-full-v1-Linux-X64-3cb0b4d7cff93dc8fe33f2ea73cac71ca25a36270fcb648b9b4a9320151012ef, not saving cache.
##[end-action id=__cfbce2f7-c36a-4fe8-ad26-a98235c526bc.__actions_cache;outcome=success;conclusion=success;duration_ms=127]
##[start-action display=Cache Vite+;id=__cfbce2f7-c36a-4fe8-ad26-a98235c526bc.vp_cache]
Post job cleanup.
Cache hit occurred on the primary key vite-plus-home-v2-Linux-X64-1.3.0-node26.12.1-pnpm@12.14.0, not saving cache.
##[end-action id=__cfbce2f7-c36a-4fe8-ad26-a98235c526bc.vp_cache;outcome=success;conclusion=success;duration_ms=63]
Post job cleanup.
[command]/usr/local/bin/git version
git version 2.55.0
Temporarily overriding HOME='/home/runner/_work/_temp/fe005e7e-ea93-4a0d-ab07-64bef79c0872' 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: 151
  BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 368
  BLACKSMITH_CHECK_RUN_ID: 120763809774
  BLACKSMITH_JOB_DISPLAY_NAME: Test Server 4
  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