fix(ci): preserve locked dependencies in release smoke - #54
Conversation
|
@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 |
|
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)$' || trueLength 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" || trueLength 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" || trueLength of output: 10178
The smoke script now preserves the copied
You are interacting with an AI system. |
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 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.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
|
@coderabbitai approve All CI checks have now passed on |
|
✅ Action performedComments resolved and changes approved. |
Release Smoke started failing on unrelated PRs when fresh resolution selected an
expo-audioversion 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 reportERR_PNPM_UNUSED_PATCHforexpo-audio@57.0.4before this change.Implemented with GPT-6 through Codex.