GitHub check
Whole log, 33 KB
Current runner version: '2.338.1'
Runner name: 'blacksmith-8vcpu-ubuntu-2404-6vuauk57br2lu5ne'
Runner group name: 'blacksmith scale sets - blacksmith-8vcpu-ubuntu-2404'
Machine name: 'ip-172-31-73-130'
▸ GITHUB_TOKEN Permissions
Contents: read
Issues: write
Metadata: read
PullRequests: write
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 'voidzero-dev/setup-vp@v1' (SHA:250f29ce396baf5e8f24498e17c0dfdebabc26eb)
Download action repository 'actions/github-script@v8' (SHA:ed597411d8f924073f98dfc5c65a23a2325f34cd)
Setting BLACKSMITH_ACTIONS_RESULTS_URL to https://results-receiver.actions.githubusercontent.com/
Complete job name: Native fingerprint diff
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: 150
BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 371
BLACKSMITH_CHECK_RUN_ID: 120764334564
BLACKSMITH_JOB_DISPLAY_NAME: Native fingerprint diff
GITHUB_ACTIONS_CACHE_MODE: write
Logging daemon started (blacksmithd for logs)
Results daemon started (blacksmithd for results)
Background adoption and SSH setup started (PID: 3172)
----------------------------------------
View this job: https://app.blacksmith.sh/pingdotgg/runs/40057733610/jobs/120764334564
SSH Access (using your GitHub SSH key):
ssh -p 64000 runner@blacksmith-8vcpu-ubuntu-2404-6vuauk57br2lu5ne.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-6vuauk57br2lu5ne
Host: production-152.236.39.114-x8664
Host Agent PID: 4156002
Host Agent Git SHA: 1637818df
Host CPU Manufacturer: AuthenticAMD
Blacksmith Host Generation: gen 2
Petname: production-concrete-beagle-f5488158
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:
ref: b4cbb3056ff4a0098443389199c6c569b935ae92
fetch-depth: 2
repository: pingdotgg/t3code
token: ***
ssh-strict: true
ssh-user: git
persist-credentials: true
clean: true
sparse-checkout-cone-mode: true
fetch-tags: false
show-progress: true
lfs: false
submodules: false
set-safe-directory: true
allow-unsafe-pr-checkout: false
env:
APP_VARIANT: production
NODE_OPTIONS: --max-old-space-size=8192
BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 150
BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 371
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/78ec7a18-7f83-4269-9b70-6058b72a7eac' 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-4e58715f-be3d-47cb-b8b2-fb59053fdea3.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-4e58715f-be3d-47cb-b8b2-fb59053fdea3.config
[command]/usr/local/bin/git config --local includeIf.gitdir:/home/runner/_work/t3code/t3code/.git/worktrees/*.path /home/runner/_work/_temp/git-credentials-4e58715f-be3d-47cb-b8b2-fb59053fdea3.config
[command]/usr/local/bin/git config --local includeIf.gitdir:/github/workspace/.git.path /github/runner_temp/git-credentials-4e58715f-be3d-47cb-b8b2-fb59053fdea3.config
[command]/usr/local/bin/git config --local includeIf.gitdir:/github/workspace/.git/worktrees/*.path /github/runner_temp/git-credentials-4e58715f-be3d-47cb-b8b2-fb59053fdea3.config
▸ Fetching the repository
[command]/usr/local/bin/git -c protocol.version=2 fetch --no-tags --prune --no-recurse-submodules --depth=2 origin b4cbb3056ff4a0098443389199c6c569b935ae92
From https://github.com/pingdotgg/t3code
* branch b4cbb3056ff4a0098443389199c6c569b935ae92 -> FETCH_HEAD
[command]/usr/local/bin/git rev-parse --verify --quiet b4cbb3056ff4a0098443389199c6c569b935ae92^{object}
b4cbb3056ff4a0098443389199c6c569b935ae92
▸ Determining the checkout info
[command]/usr/local/bin/git sparse-checkout disable
[command]/usr/local/bin/git config --local --unset-all extensions.worktreeConfig
▸ Checking out the ref
[command]/usr/local/bin/git checkout --progress --force b4cbb3056ff4a0098443389199c6c569b935ae92
Updating files: 94% (26584/28163)
Updating files: 95% (26755/28163)
Updating files: 96% (27037/28163)
Updating files: 97% (27319/28163)
Updating files: 98% (27600/28163)
Updating files: 99% (27882/28163)
Updating files: 100% (28163/28163)
Updating files: 100% (28163/28163), done.
Note: switching to 'b4cbb3056ff4a0098443389199c6c569b935ae92'.
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 b4cbb305 Merge 42a0cf350f568e431e8884b9440a158df21875c9 into f41617580439f33ab55fa1ba100437a5b4c7d516
[command]/usr/local/bin/git log -1 --format=%H
b4cbb3056ff4a0098443389199c6c569b935ae92
▸ Run base_sha=$(git rev-parse HEAD^1)
base_sha=$(git rev-parse HEAD^1)
echo "base_sha=$base_sha" >> "$GITHUB_OUTPUT"
paths=$(git diff --no-renames --name-only "$base_sha" HEAD -- \
apps/mobile/ packages/client-runtime/ packages/contracts/ packages/shared/ \
assets/ scripts/ patches/ package.json pnpm-lock.yaml pnpm-workspace.yaml \
.github/workflows/mobile-fingerprint-check.yml)
if [[ -n "$paths" ]]; then
echo "relevant=true" >> "$GITHUB_OUTPUT"
else
echo "relevant=false" >> "$GITHUB_OUTPUT"
echo "No native fingerprint inputs changed; clearing any stale native change label." >> "$GITHUB_STEP_SUMMARY"
fi
shell: /usr/bin/bash -e {0}
env:
APP_VARIANT: production
NODE_OPTIONS: --max-old-space-size=8192
BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 150
BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 371
GITHUB_REPO_NAME: pingdotgg/t3code
▸ Run voidzero-dev/setup-vp@v1
with:
node-version-file: package.json
cache: true
run-install: args:
- --filter=@t3tools/mobile...
sfw: false
env:
APP_VARIANT: production
NODE_OPTIONS: --max-old-space-size=8192
BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 150
BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 371
GITHUB_REPO_NAME: pingdotgg/t3code
Resolved Node.js version '26.12.1' from package.json
Resolved Vite+ version '1.3.0' from package.json
Installing Vite+@1.3.0...
[command]/usr/bin/bash -c set -o pipefail; curl -fsSL --connect-timeout 5 --max-time 15 https://viteplus.dev/install.sh | bash
info: installing vite-plus@1.3.0...
info: Preparing Node.js and pnpm...
info: Installing dependencies...
✓ Dependencies installed.
Setup:
Preparing vite-plus environment.
Created Shims:
/home/runner/.vite-plus/bin/node
/home/runner/.vite-plus/bin/npm
/home/runner/.vite-plus/bin/npx
/home/runner/.vite-plus/bin/pnpm
/home/runner/.vite-plus/bin/pnpx
/home/runner/.vite-plus/bin/pn
/home/runner/.vite-plus/bin/pnx
/home/runner/.vite-plus/bin/yarn
/home/runner/.vite-plus/bin/yarnpkg
/home/runner/.vite-plus/bin/bun
/home/runner/.vite-plus/bin/bunx
/home/runner/.vite-plus/bin/vpx
/home/runner/.vite-plus/bin/vpr
Next Steps:
For Bash, run:
. "/home/runner/.vite-plus/env"
If your ~/.bashrc does not already load Vite+, add this command for interactive non-login Bash sessions.
Login Bash shells must also load the command through their login profile.
Restart an already-running IDE to load its environment. Run `vp env doctor` to verify.
✓ Vite+ setup complete.
Setting up Node.js 26.12.1 via vp env use...
[command]/home/runner/.vite-plus/bin/vp env use 26.12.1
Installing Node.js v26.12.1...
Using Node.js v26.12.1 (resolved from 26.12.1)
Auto-detected lock file: pnpm-lock.yaml
Using lock file: /home/runner/_work/t3code/t3code/pnpm-lock.yaml
Resolving dependency cache directory in: /home/runner/_work/t3code/t3code
Cache hit for: vite-plus-Linux-x64-pnpm-cdf5a404c5eda7b4f6fd7ee104ef70bab4f8dcf0ec383d98ff9dadaf32a25701
Received 666894336 of 1192149277 (55.9%), 635.4 MBs/sec
Received 1192149277 of 1192149277 (100.0%), 559.5 MBs/sec
Cache Size: ~1137 MB (1192149277 B)
[command]/usr/bin/tar -xf /home/runner/_work/_temp/65bd96cd-afc3-434b-87e5-a76405e320bf/cache.tzst -P -C /home/runner/_work/t3code/t3code --use-compress-program unzstd
Cache restored successfully
Cache restored from key: vite-plus-Linux-x64-pnpm-cdf5a404c5eda7b4f6fd7ee104ef70bab4f8dcf0ec383d98ff9dadaf32a25701
▸ Running vp install --filter=@t3tools/mobile... in /home/runner/_work/t3code/t3code...
[command]/home/runner/.vite-plus/bin/vp install --filter=@t3tools/mobile...
Scope: 22 of 33 workspace projects
? Verifying lockfile against supply-chain policies (2088 entries)...
✓ Lockfile passes supply-chain policies (2088 entries in 1.4s)
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: +957
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Progress: resolved 957, reused 954, downloaded 0, added 957, 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 2.2s using pnpm v12.14.0
Successfully ran vp install --filter=@t3tools/mobile...
vp v1.3.0
Local vite-plus:
vite-plus v1.3.0
Tools:
vite v8.3.4
rolldown v1.2.14
vitest v5.0.5
oxfmt v0.73.0
oxlint v1.88.0
oxlint-tsgolint v7.0.2004
tsdown v0.23.1
Environment:
Package manager pnpm v12.14.0
Node.js v26.12.1 (.session-node-version)
▸ Run pnpm_version="$(node --print "require('./package.json').packageManager.split('@').pop()")"
pnpm_version="$(node --print "require('./package.json').packageManager.split('@').pop()")"
vp_pnpm_bin="$HOME/.vite-plus/package_manager/pnpm/$pnpm_version/pnpm/bin"
echo "$vp_pnpm_bin" >> "$GITHUB_PATH"
"$vp_pnpm_bin/pnpm" --version
shell: /usr/bin/bash -e {0}
env:
APP_VARIANT: production
NODE_OPTIONS: --max-old-space-size=8192
BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 150
BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 371
GITHUB_REPO_NAME: pingdotgg/t3code
12.14.0
▸ Run mkdir -p "$RUNNER_TEMP/fp/head" "$RUNNER_TEMP/fp/base"
mkdir -p "$RUNNER_TEMP/fp/head" "$RUNNER_TEMP/fp/base"
for platform in ios android; do
npx expo-updates fingerprint:generate --platform "$platform" > "$RUNNER_TEMP/fp/head/$platform.json"
done
shell: /usr/bin/bash -e {0}
env:
APP_VARIANT: production
NODE_OPTIONS: --max-old-space-size=8192
BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 150
BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 371
GITHUB_REPO_NAME: pingdotgg/t3code
▸ Run git checkout --quiet "$BASE_SHA"
git checkout --quiet "$BASE_SHA"
# Re-sync node_modules to the base commit's lockfile before
# fingerprinting — a dep-changing PR must not fingerprint the base
# against head's installed packages.
pnpm install --filter=@t3tools/mobile...
cd apps/mobile
for platform in ios android; do
npx expo-updates fingerprint:generate --platform "$platform" > "$RUNNER_TEMP/fp/base/$platform.json"
done
shell: /usr/bin/bash -e {0}
env:
APP_VARIANT: production
NODE_OPTIONS: --max-old-space-size=8192
BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 150
BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 371
GITHUB_REPO_NAME: pingdotgg/t3code
BASE_SHA: f41617580439f33ab55fa1ba100437a5b4c7d516
Scope: 22 of 33 workspace projects
? Verifying lockfile against supply-chain policies (2088 entries)...
✓ Lockfile passes supply-chain policies (2088 entries in 1s)
Lockfile is up to date, resolution step is skipped
Packages: +4
++++
Progress: resolved 4, reused 1, downloaded 0, added 4, done
. prepare$ vp config --no-agent
. prepare: Done
Done in 1.5s using pnpm v12.14.0
▸ Run changed=""
changed=""
{
echo "## Native fingerprint diff"
echo
for platform in ios android; do
head_hash="$(jq -r .hash "$RUNNER_TEMP/fp/head/$platform.json")"
base_hash="$(jq -r .hash "$RUNNER_TEMP/fp/base/$platform.json")"
if [ "$head_hash" = "$base_hash" ]; then
echo "- ✅ **$platform**: unchanged (\`$head_hash\`) — OTA-compatible"
continue
fi
changed="$changed $platform"
echo "- 📱 **$platform**: \`$base_hash\` → \`$head_hash\` — merging requires a new native build before OTAs work again"
jq -r -n \
--slurpfile h "$RUNNER_TEMP/fp/head/$platform.json" \
--slurpfile b "$RUNNER_TEMP/fp/base/$platform.json" '
($b[0].sources | map({ (.filePath // .id): .hash }) | add // {}) as $bm
| $h[0].sources[]
| select($bm[(.filePath // .id)] != .hash)
| " - \(.type): `\(.filePath // .id)`"'
done
} >> "$GITHUB_STEP_SUMMARY"
echo "changed_platforms=${changed# }" >> "$GITHUB_OUTPUT"
shell: /usr/bin/bash -e {0}
env:
APP_VARIANT: production
NODE_OPTIONS: --max-old-space-size=8192
BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 150
BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 371
GITHUB_REPO_NAME: pingdotgg/t3code
▸ Run actions/github-script@v8
with:
script: const managedLabel = {
name: "📱 Native Change",
color: "d93f0b",
description:
"Changes the native fingerprint; merging blocks production OTAs until a new store build ships.",
};
const nativeChanged = (process.env.CHANGED_PLATFORMS ?? "").trim() !== "";
const issueNumber = context.payload.pull_request.number;
try {
const { data: existing } = await github.rest.issues.getLabel({
owner: context.repo.owner,
repo: context.repo.repo,
name: managedLabel.name,
});
if (
existing.color !== managedLabel.color ||
(existing.description ?? "") !== managedLabel.description
) {
await github.rest.issues.updateLabel({
owner: context.repo.owner,
repo: context.repo.repo,
name: managedLabel.name,
color: managedLabel.color,
description: managedLabel.description,
});
}
} catch (error) {
if (error.status !== 404) {
throw error;
}
try {
await github.rest.issues.createLabel({
owner: context.repo.owner,
repo: context.repo.repo,
name: managedLabel.name,
color: managedLabel.color,
description: managedLabel.description,
});
} catch (createError) {
if (createError.status !== 422) {
throw createError;
}
}
}
const { data: currentLabels } = await github.rest.issues.listLabelsOnIssue({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issueNumber,
per_page: 100,
});
const hasLabel = currentLabels.some((label) => label.name === managedLabel.name);
if (nativeChanged && !hasLabel) {
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issueNumber,
labels: [managedLabel.name],
});
} else if (!nativeChanged && hasLabel) {
try {
await github.rest.issues.removeLabel({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issueNumber,
name: managedLabel.name,
});
} catch (removeError) {
if (removeError.status !== 404) {
throw removeError;
}
}
}
core.info(
`PR #${issueNumber}: native fingerprint ${nativeChanged ? `changed (${process.env.CHANGED_PLATFORMS})` : "unchanged"}`,
);
github-token: ***
debug: false
user-agent: actions/github-script
result-encoding: json
retries: 0
retry-exempt-status-codes: 400,401,403,404,422
env:
APP_VARIANT: production
NODE_OPTIONS: --max-old-space-size=8192
BLACKSMITH_RUNNER_MESSAGE_WAIT_MS: 150
BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 371
GITHUB_REPO_NAME: pingdotgg/t3code
CHANGED_PLATFORMS: ios android
PR #24263: native fingerprint changed (ios android)
Post job cleanup.
Cache hit on primary key "vite-plus-Linux-x64-pnpm-cdf5a404c5eda7b4f6fd7ee104ef70bab4f8dcf0ec383d98ff9dadaf32a25701". Skipping save.
Post job cleanup.
[command]/usr/local/bin/git version
git version 2.55.0
Temporarily overriding HOME='/home/runner/_work/_temp/48e15556-0081-42b1-ad57-2724acc5d192' 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: 150
BLACKSMITH_RUNNER_ACQUIRE_JOB_MS: 371
BLACKSMITH_CHECK_RUN_ID: 120764334564
BLACKSMITH_JOB_DISPLAY_NAME: Native fingerprint diff
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