You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
( bun run "$s">"/tmp/ship-audit-${s//:/-}.log"2>&1;echo"$?$s">>/tmp/ship-audit-results ) &
76
-
done
77
-
wait
78
-
# any non-zero line is a failing audit — read its /tmp/ship-audit-<name>.log and fix before shipping.
79
-
# `exit 1` on failure preserves the original sequential checks' semantics (their non-zero exit is
80
-
# what an agent gates on); never use `grep … && echo ❌ || echo ✅` here — it always exits 0.
81
-
if grep -vE '^0 ' /tmp/ship-audit-results;thenecho"❌ audit(s) failed — do not ship";exit 1;fi
82
-
echo"✅ all audits passed"
68
+
# Runs every audit CI runs, concurrently, and replays the output of any that fail.
69
+
# Do not hand-list the audits here: the list is derived in scripts/run-audits.ts, and the
70
+
# copy that used to live in this file had already drifted five audits behind package.json.
71
+
bun run check:audits || { echo"❌ audit(s) failed — do not ship";exit 1; }
83
72
```
84
73
If Phase A regenerated a file, its matching `:check` in Phase B now passes trivially — that parity is the point. Do not ship with any generator or audit failing; fix the cause (never silence it) and re-run. `check:migrations` and `type-check` are covered by steps 5 and CI respectively and are not repeated here.
85
74
7.**Stage and commit** the changes with the generated message — including any files Phase A regenerated in step 6
( bun run "$s">"/tmp/ship-audit-${s//:/-}.log"2>&1;echo"$?$s">>/tmp/ship-audit-results ) &
75
-
done
76
-
wait
77
-
# any non-zero line is a failing audit — read its /tmp/ship-audit-<name>.log and fix before shipping.
78
-
# `exit 1` on failure preserves the original sequential checks' semantics (their non-zero exit is
79
-
# what an agent gates on); never use `grep … && echo ❌ || echo ✅` here — it always exits 0.
80
-
if grep -vE '^0 ' /tmp/ship-audit-results;thenecho"❌ audit(s) failed — do not ship";exit 1;fi
81
-
echo"✅ all audits passed"
67
+
# Runs every audit CI runs, concurrently, and replays the output of any that fail.
68
+
# Do not hand-list the audits here: the list is derived in scripts/run-audits.ts, and the
69
+
# copy that used to live in this file had already drifted five audits behind package.json.
70
+
bun run check:audits || { echo"❌ audit(s) failed — do not ship";exit 1; }
82
71
```
83
72
If Phase A regenerated a file, its matching `:check` in Phase B now passes trivially — that parity is the point. Do not ship with any generator or audit failing; fix the cause (never silence it) and re-run. `check:migrations` and `type-check` are covered by steps 5 and CI respectively and are not repeated here.
84
73
7.**Stage and commit** the changes with the generated message — including any files Phase A regenerated in step 6
( bun run "$s">"/tmp/ship-audit-${s//:/-}.log"2>&1;echo"$?$s">>/tmp/ship-audit-results ) &
70
-
done
71
-
wait
72
-
# any non-zero line is a failing audit — read its /tmp/ship-audit-<name>.log and fix before shipping.
73
-
# `exit 1` on failure preserves the original sequential checks' semantics (their non-zero exit is
74
-
# what an agent gates on); never use `grep … && echo ❌ || echo ✅` here — it always exits 0.
75
-
if grep -vE '^0 ' /tmp/ship-audit-results;thenecho"❌ audit(s) failed — do not ship";exit 1;fi
76
-
echo"✅ all audits passed"
62
+
# Runs every audit CI runs, concurrently, and replays the output of any that fail.
63
+
# Do not hand-list the audits here: the list is derived in scripts/run-audits.ts, and the
64
+
# copy that used to live in this file had already drifted five audits behind package.json.
65
+
bun run check:audits || { echo"❌ audit(s) failed — do not ship";exit 1; }
77
66
```
78
67
If Phase A regenerated a file, its matching `:check` in Phase B now passes trivially — that parity is the point. Do not ship with any generator or audit failing; fix the cause (never silence it) and re-run. `check:migrations` and `type-check` are covered by steps 5 and CI respectively and are not repeated here.
79
68
7.**Stage and commit** the changes with the generated message — including any files Phase A regenerated in step 6
0 commit comments