Lượt kiểm hằng tuần
Thay cho "nightly" và Dependabot: một lượt chạy trên máy của chủ dự án, $0 phút Actions.
npm run weekly (scripts/weekly.mjs) chạy bằng LaunchAgent của macOS (StartCalendarInterval Chủ nhật 22:00; Mac ngủ thì chạy khi thức), trong một worktree riêng luôn kéo về origin/main.
Các bước
npm install,npm run check:report(không chặn).scripts/deps-upgrade.mjs, trong cây sạch:npx npm-check-updates@<bản ghim> --workspaces --root --target minor --reject <gói giữ>rồi-u.- Xoá trong
package-lock.jsonmọi mục của gói vừa nâng, kể cả bản lồng*/node_modules/<tên>. Nếu không, npm báoERESOLVEvới nhóm gói ghim chính xác và peer lẫn nhau. npm install,npm audit fix(chỉ bản vá không phá; exit 1 khi còn advisory là bình thường).- typecheck, lint, unit test, build toàn repo. Đỏ thì ghi lại đúng bytes cũ của mọi
package.json+ lockfile rồinpm install. - Gỡ dependency không ai import bằng Knip (
npx knip@<bản ghim> --dependencies --fix, cấu hìnhknip.jsonc; JSON thường không nhận khoá$comment), chỉ giữ thay đổi khi typecheck + build xanh. - Liệt kê bản major và GitHub Action có major mới, không tự nâng. Gói phải đứng yên ghi trong
scripts/deps-hold.jsonkèm lý do, chặn theo ranh giới>x.y.zchứ không theo bản đã đo.
npm audit --omit=dev --audit-level=high: báo.- E2E: khoảng 10% spec quan trọng nhất (danh sách ở
scripts/lib/weekly-e2e.mjs, theo từng app). Đường dẫn không tồn tại thì đỏ to, để đổi tên spec không làm bộ thu nhỏ lặng lẽ (bẫy 5). - Nâng xanh + E2E xanh → tự commit
chore(deps): ...và push lênmain. Kết quả: thông báo macOS + log. - Trong script shell của LaunchAgent:
rc=$?ngay sau lệnh, trước mọi$(...)(bẫy 4).
Dependabot
Xoá .github/dependabot.yml: PR không ai gộp, và mỗi push lên PR tốn một lượt CI. Giữ Dependabot alerts (cảnh báo bảo mật, không mở PR).
Ở Conan hôm nay
Không có lượt hằng tuần. Nâng gói làm tay theo đợt (PR #316 minor/patch, #318 major, 03.10.2026), có hook deps-docs-guard và gác lockfiles (npm ci --dry-run nghiêm ở 30 thư mục). Không có Dependabot, Renovate hay Knip. Không có E2E nào.
Máy của chủ dự án đã chạy đúng mẫu LaunchAgent này cho Nemo12 (com.nemo12.weekly-check, Chủ nhật 22:00). Một LaunchAgent khác (com.nemo12.disk-cleanup, Chủ nhật 03:00) xoá node_modules không đụng 21 ngày ở mọi thư mục dưới ~/ConanCode, gồm cả repo này. Xem Audit, mục 6.