chore(pr-skills): suppress output for successful commands (pnpm install/build/test/etc) to lower context usage

This commit is contained in:
Gustavo Madeira Santana
2026-02-12 15:10:23 -05:00
parent 1123357c62
commit 49188caf94

View File

@@ -107,9 +107,44 @@ require_artifact() {
fi
}
print_relevant_log_excerpt() {
local log_file="$1"
if [ ! -s "$log_file" ]; then
echo "(no output captured)"
return 0
fi
local filtered_log
filtered_log=$(mktemp)
if rg -n -i 'error|err|failed|fail|fatal|panic|exception|TypeError|ReferenceError|SyntaxError|ELIFECYCLE|ERR_' "$log_file" >"$filtered_log"; then
echo "Relevant log lines:"
tail -n 120 "$filtered_log"
else
echo "No focused error markers found; showing last 120 lines:"
tail -n 120 "$log_file"
fi
rm -f "$filtered_log"
}
run_quiet_logged() {
local label="$1"
local log_file="$2"
shift 2
mkdir -p .local
if "$@" >"$log_file" 2>&1; then
echo "$label passed"
return 0
fi
echo "$label failed (log: $log_file)"
print_relevant_log_excerpt "$log_file"
return 1
}
bootstrap_deps_if_needed() {
if [ ! -x node_modules/.bin/vitest ]; then
pnpm install --frozen-lockfile
run_quiet_logged "pnpm install --frozen-lockfile" ".local/bootstrap-install.log" pnpm install --frozen-lockfile
fi
}
@@ -418,7 +453,7 @@ review_tests() {
bootstrap_deps_if_needed
local list_log=".local/review-tests-list.log"
pnpm vitest list "$@" 2>&1 | tee "$list_log"
run_quiet_logged "pnpm vitest list" "$list_log" pnpm vitest list "$@"
local missing_list=()
for target in "$@"; do
@@ -436,7 +471,7 @@ review_tests() {
fi
local run_log=".local/review-tests-run.log"
pnpm vitest run "$@" 2>&1 | tee "$run_log"
run_quiet_logged "pnpm vitest run" "$run_log" pnpm vitest run "$@"
local missing_run=()
for target in "$@"; do
@@ -595,13 +630,13 @@ prepare_gates() {
docs_only=true
fi
pnpm build
pnpm check
run_quiet_logged "pnpm build" ".local/gates-build.log" pnpm build
run_quiet_logged "pnpm check" ".local/gates-check.log" pnpm check
if [ "$docs_only" = "true" ]; then
echo "Docs-only change detected with high confidence; skipping pnpm test."
else
pnpm test
run_quiet_logged "pnpm test" ".local/gates-test.log" pnpm test
fi
cat > .local/gates.env <<EOF_ENV
@@ -679,10 +714,10 @@ prepare_push() {
prep_head_sha=$(git rev-parse HEAD)
bootstrap_deps_if_needed
pnpm build
pnpm check
run_quiet_logged "pnpm build (lease-retry)" ".local/lease-retry-build.log" pnpm build
run_quiet_logged "pnpm check (lease-retry)" ".local/lease-retry-check.log" pnpm check
if [ "${DOCS_ONLY:-false}" != "true" ]; then
pnpm test
run_quiet_logged "pnpm test (lease-retry)" ".local/lease-retry-test.log" pnpm test
fi
git push --force-with-lease=refs/heads/$PR_HEAD:$lease_sha prhead HEAD:$PR_HEAD
@@ -782,7 +817,7 @@ merge_verify() {
exit 1
fi
gh pr checks "$pr" --required --watch --fail-fast || true
gh pr checks "$pr" --required --watch --fail-fast >.local/merge-checks-watch.log 2>&1 || true
local checks_json
local checks_err_file
checks_err_file=$(mktemp)
@@ -899,13 +934,12 @@ EOF_BODY
--body-file .local/merge-body.txt \
>"$merge_output_file" 2>&1
then
cat "$merge_output_file"
rm -f "$merge_output_file"
return 0
fi
MERGE_ERR_MSG=$(cat "$merge_output_file")
[ -n "$MERGE_ERR_MSG" ] && printf '%s\n' "$MERGE_ERR_MSG" >&2
print_relevant_log_excerpt "$merge_output_file"
rm -f "$merge_output_file"
return 1
}