#!/bin/sh W=${WT:?set WT to the worktree path}; T=${CLAUDE_JOB_DIR:?set CLAUDE_JOB_DIR}/tmp; REL=${REL:-r9} cd $W || exit 1 echo "START $(date +%T) $(git rev-parse --short HEAD)" pnpm -r --no-bail --workspace-concurrency=1 exec tsc --noEmit > $T/$REL-gate-tsc.log 2>&1; echo "tsc_exit=$? errors=$(grep -c 'error TS' $T/$REL-gate-tsc.log)" pnpm --filter yt-dlp-transcript-common test > $T/$REL-gate-common.log 2>&1; echo "common_exit=$? $(grep -E '^# (pass|fail)' $T/$REL-gate-common.log | tr '\n' ' ')" (cd editor && pnpm exec tsx --test "app/**/*.test.ts" > $T/$REL-gate-editor-unit.log 2>&1); echo "editor_unit_exit=$? $(grep -E '^# (pass|fail)' $T/$REL-gate-editor-unit.log | tr '\n' ' ')" pnpm run test:scripts > $T/$REL-gate-scripts.log 2>&1; echo "scripts_exit=$? $(grep -E '^# (pass|fail|skip)' $T/$REL-gate-scripts.log | tr '\n' ' ')" pnpm --filter editor exec next build > $T/$REL-gate-editor-build.log 2>&1; echo "editor_build_exit=$?" s=$(date +%s); pnpm e2e $(cat $T/$REL-gate-specs.txt) > $T/$REL-gate-e2e.log 2>&1; echo "e2e_exit=$? $(( $(date +%s)-s ))s $(sed 's/\x1b\[[0-9;]*m//g' $T/$REL-gate-e2e.log | grep -E '[0-9]+ passed|[0-9]+ failed|[0-9]+ flaky|[0-9]+ skipped' | tail -3 | tr '\n' ' ')" echo "exit=0 $(date +%T)"