PM2's cron for autofirmer-update dies inside a live daemon (six Windows machines in October), and nothing on the machine noticed. The app now watches scripts/.last-check and, past 10 minutes, runs update-check.mjs --heal: a checker PM2 still lists is restarted (which re-registers its cron), one it lost is registered again, and one whose errored entry still holds a live pid is left alone, since PM2 would kill that pid. The heal scrubs PM2's per-app fields from its environment first. The master's new 'update-now' command runs --heal --now, skipping a failed update's retry wait. A failed pull, npm install or build records one line of reason (or the chown to run when a file isn't ours), which rides on .last-check to the master. A package-lock.json rewritten by npm is put back before the pull. The fetch timeout drops under the cron's minute. scripts/.no-auto-update opts a checkout out. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
91 lines
1.6 KiB
Plaintext
91 lines
1.6 KiB
Plaintext
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
|
|
|
|
# dependencies
|
|
/node_modules
|
|
/.pnp
|
|
.pnp.*
|
|
.yarn/*
|
|
!.yarn/patches
|
|
!.yarn/plugins
|
|
!.yarn/releases
|
|
!.yarn/versions
|
|
|
|
# testing
|
|
/coverage
|
|
|
|
# next.js
|
|
/.next/
|
|
/out/
|
|
|
|
# production
|
|
/build
|
|
|
|
# misc
|
|
.DS_Store
|
|
*.pem
|
|
|
|
# debug
|
|
npm-debug.log*
|
|
yarn-debug.log*
|
|
yarn-error.log*
|
|
.pnpm-debug.log*
|
|
|
|
# env files (can opt-in for committing if needed)
|
|
.env*
|
|
|
|
# vercel
|
|
.vercel
|
|
|
|
# typescript
|
|
*.tsbuildinfo
|
|
next-env.d.ts
|
|
|
|
# local runtime artifacts
|
|
*.sqlite
|
|
dev.log
|
|
dev.err
|
|
nul
|
|
scripts/lucid-cookies.json
|
|
scripts/lucid-config.json
|
|
scripts/*.png
|
|
autotrader.sqlite
|
|
|
|
# python
|
|
__pycache__/
|
|
*.pyc
|
|
|
|
# generated by the Windows setup / autostart scripts
|
|
scripts/.deps-hash
|
|
scripts/.python-cmd
|
|
scripts/.update.lock
|
|
scripts/update.log
|
|
# updater bookkeeping (scripts/update-check.mjs)
|
|
scripts/.built-commit
|
|
scripts/.update-failed
|
|
scripts/update-worker.log
|
|
# present = this checkout is never auto-updated or healed (a dev checkout)
|
|
scripts/.no-auto-update
|
|
# the previous build, set aside while the updater builds (Tailwind's source
|
|
# scan also honours this, so it never reads the old bundles)
|
|
/.next-prev/
|
|
|
|
# clicker virtualenv (Linux/Pi)
|
|
clicker/.venv/
|
|
scripts/.last-check
|
|
|
|
# The deploy template is meant to be read, unlike a real .env
|
|
!deploy/.env.example
|
|
|
|
# publish bookkeeping
|
|
deploy/publish.log
|
|
deploy/.last-check
|
|
deploy/.publish.lock
|
|
*.sqlite-shm
|
|
*.sqlite-wal
|
|
# per-instance databases (add-instance.sh)
|
|
.data/
|
|
# per-device instance registry (add-instance.sh)
|
|
scripts/instances.json
|
|
# yarn is dev-convenience only; npm/package-lock.json governs the fleet
|
|
yarn.lock
|