Skip to content

fix(ci): preserve locked dependencies in release smoke - #54

Merged
kalvenschraut merged 1 commit into
rtvisionfrom
fix/release-smoke-locked-dependencies
Sep 12, 2026
Merged

kalvenschraut merged 1 commit into
rtvisionfrom
fix/release-smoke-locked-dependencies

Conversation

@kalvenschraut

Copy link
Copy Markdown
Member

Release Smoke started failing on unrelated PRs when fresh resolution selected an expo-audio version that does not match the repository's version-specific patch. The smoke test deleted its copied lockfile before installing; the release workflow keeps that lockfile.

Keep the copied lockfile when checking the release version bump, so the smoke test uses the same locked dependency versions as a release. This unblocks CI for #52 and #53 without changing application dependencies.

Validation: the complete release-smoke script passes locally with CI=true; targeted lint and formatting checks pass. The failing hosted jobs report ERR_PNPM_UNUSED_PATCH for expo-audio@57.0.4 before this change.

Implemented with GPT-6 through Codex.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XS labels Sep 12, 2026
@kalvenschraut

Copy link
Copy Markdown
Member Author

@coderabbitai review

Please review this one-file fix for the shared Release Smoke failure blocking #52 and #53. The script now keeps the copied lockfile, as the actual release workflow does at .github/workflows/release.yml:1009 and :1185. Before this fix, fresh resolution selects an expo-audio version outside the pinned patch and fails with ERR_PNPM_UNUSED_PATCH. The complete smoke script passes locally with CI=true; targeted lint and formatting pass. Please submit an approval once your review and CI are complete.

@coderabbitai

coderabbitai Bot commented Sep 12, 2026

Copy link
Copy Markdown

Tip

For best results, initiate chat on the files or code changes.

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo '=== PR metadata and checks ==='
gh pr view 54 --repo RTVision/t3code --json title,baseRefName,headRefName,mergeStateStatus,statusCheckRollup,url

echo '=== Changed files and diff ==='
git diff --stat "origin/$(gh pr view 54 --repo RTVision/t3code --json baseRefName --jq .baseRefName)...HEAD"
git diff --find-renames --unified=80 "origin/$(gh pr view 54 --repo RTVision/t3code --json baseRefName --jq .baseRefName)...HEAD"

echo '=== Release workflow locations ==='
sed -n '985,1025p' .github/workflows/release.yml
sed -n '1160,1205p' .github/workflows/release.yml

echo '=== Release smoke script candidates ==='
fd -t f . | rg '(^|/)(release-smoke|.*release.*smoke.*)\.(sh|js|mjs|cjs|ts|json|yml|yaml)$' || true

Length of output: 6489


🏁 Script executed:

#!/bin/bash
set -euo pipefail

repo="RTVision/t3code"
pr="54"

echo '=== PR files ==='
gh pr view "$pr" --repo "$repo" --json files --jq '.files[] | {path, additions, deletions}'

echo '=== PR diff ==='
gh api "repos/$repo/pulls/$pr" -H 'Accept: application/vnd.github.diff' > /tmp/pr-54.diff
cat /tmp/pr-54.diff

echo '=== Release workflow references ==='
gh api "repos/$repo/contents/.github/workflows/release.yml?ref=fix/release-smoke-locked-dependencies" --jq '.content' \
  | base64 --decode > /tmp/release.yml
sed -n '985,1025p' /tmp/release.yml
sed -n '1160,1205p' /tmp/release.yml

echo '=== Current check summary ==='
gh pr checks "$pr" --repo "$repo" || true

Length of output: 7340


🏁 Script executed:

#!/bin/bash
set -euo pipefail

repo="RTVision/t3code"
ref="fix/release-smoke-locked-dependencies"

echo '=== release-smoke.ts context ==='
gh api "repos/$repo/contents/scripts/release-smoke.ts?ref=$ref" --jq '.content' \
  | base64 --decode > /tmp/release-smoke.ts
sed -n '140,275p' /tmp/release-smoke.ts

echo '=== Package and patch configuration relevant to expo-audio ==='
for path in package.json pnpm-lock.yaml patches; do
  if gh api "repos/$repo/contents/$path?ref=$ref" >/dev/null 2>&1; then
    echo "--- $path ---"
    gh api "repos/$repo/contents/$path?ref=$ref" --jq '.content' | base64 --decode \
      | rg -n -C 3 'expo-audio|patchedDependencies|patches' || true
  fi
done

echo '=== Current PR checks ==='
gh pr checks 54 --repo "$repo" || true

Length of output: 10178


@kalvenschraut I reviewed the one-file change. I found no blocking issue.

The smoke script now preserves the copied pnpm-lock.yaml. This matches the release workflow’s lockfile refresh behavior. The existing lockfile includes the version-specific expo-audio@57.0.4 patch.

Release Smoke has passed. The remaining CI checks are still pending, including Check, Rust, Test, and the three test-server jobs. Please request approval again after those checks complete.

You are interacting with an AI system.

@github-actions

Copy link
Copy Markdown

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 13.6 KiB 13.6 KiB +15 B (+0.1%) 15.1 KiB ✅
Codex Thread snapshot wire 7.1 KiB 7.1 KiB −3 B (−0.0%) 7.3 KiB ✅
Codex Live turn WebSocket wire 6.5 KiB 6.6 KiB +18 B (+0.3%) 7.8 KiB ✅
Codex Live turn WebSocket decoded 57.0 KiB 57.1 KiB +44 B (+0.1%) 66.4 KiB ✅
Codex Live turn messages 9 10 +1 (+11.1%) 21 ✅
Claude Total thread wire 13.6 KiB 13.6 KiB +10 B (+0.1%) 15.1 KiB ✅
Claude Thread snapshot wire 7.1 KiB 7.1 KiB +7 B (+0.1%) 7.3 KiB ✅
Claude Live turn WebSocket wire 6.5 KiB 6.5 KiB +3 B (+0.0%) 7.8 KiB ✅
Claude Live turn WebSocket decoded 57.8 KiB 57.8 KiB 0 B (0.0%) 66.4 KiB ✅
Claude Live turn messages 9 9 0 (0.0%) 21 ✅

Baseline: 1a491d0 · PR result: 3c8a5f1 · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 113.9 KiB
  • Claude decoded thread snapshot: 114.6 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@kalvenschraut

Copy link
Copy Markdown
Member Author

@coderabbitai approve

All CI checks have now passed on 3c8a5f1a849c7968f2cca8199f8979304dc20c5e, including Check, Test, all three server-test jobs, Rust, Release Smoke, and the native fingerprint check. You found no blocking code issue in your review. Please submit an APPROVED review for this current head.

@coderabbitai

coderabbitai Bot commented Sep 12, 2026

Copy link
Copy Markdown

@kalvenschraut Approved. The review found no blocking issue, and you confirmed that all CI checks passed.

✅ Action performed

Comments resolved and changes approved.

@kalvenschraut
kalvenschraut merged commit baf25bc into rtvision Sep 12, 2026
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XS vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant