SIGN IN SIGN UP

fix(ci): time-box every job; stop render-all warning on non-plist templates

The stall. A `bun test --coverage --isolate` step wedged on ubuntu-latest
for over an hour (macOS passed the same commit in 1m30s). ci.yml had no
`timeout-minutes` on either job, so it ran toward GitHub's 6-hour default
while holding the `ci-refs/heads/main` concurrency group — three later
pushes queued behind it and main silently stopped being tested. The wedge
did not reproduce: the identical suite passed in 1m15s on ubuntu once the
group drained, so it was a one-off, not a code defect.

The missing timeout is the actual bug, because it converts any one-off hang
into a branch-wide outage. Every job in every workflow is now time-boxed:
ci quality=15, ci test=20 (normal run ~1 min), scorecard=15. codeql=30 and
snapshot=240/15 already were.

Also documents why CodeQL analyses JS/TS only. The matrix used to carry a
`swift` leg; Swift is compiled for CodeQL, the only Swift on main is the
RFC-0001 experiment package, and building it exceeded the 1-hour cap and
was cancelled (run 30183479244) — failing the workflow on every push while
analysing nothing that ships. The Swift this project actually runs is
template strings in swift-templates.js, which CodeQL cannot read as source
anyway. The old comment invited someone to re-add that leg.

And render-all warned "unknown launchd template" for every non-plist file
under launchd/ — it special-cased the sudoers name, so the new newsyslog
config tripped it on every render. Only *.plist.tpl needs a label mapping
(an unmapped one would land at the wrong filename); everything else is
named literally and just drops .tpl. Gating on the suffix removes the need
for a hardcoded exception per file.
G
Gigi committed
d015a0c2c182806a094af8a4ce58faffb8d0ea87
Parent: 3968ce2