The client's hosting (All-Inkl) has no GitHub integration, so the two-branch model - source on main, CI force-pushing the built hifi/ folder to a machine-generated deploy branch for Plesk to pull - doesn't work there. main is now simultaneously the source of truth and the deployable artifact: - hifi/index.html, hifi/assets/, favicon, robots.txt and hifi/api/vendor are committed instead of git-ignored. Secrets (db.php, setup.php, ga-service-account.json) stay ignored as before. - A prebuild script wipes hifi/assets + index.html before every vite build, so the tree always holds exactly the current build - this was the stale-hash-chunk problem that originally justified ignoring the output (emptyOutDir stays false to protect hifi/api). Builds are deterministic: rebuilding without source changes yields zero diffs. - .github/workflows/build-deploy.yml is deleted; nothing writes to the deploy branch anymore. The convention is to run npm run build before committing (DEPLOY.md documents the workflow, the All-Inkl setup via SSH clone/pull with docroot on <checkout>/hifi, and the Plesk test server switch from deploy to main). The remote deploy branch is left in place for now so the Plesk test server keeps working until its Git source is switched to main; it can be deleted afterwards. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2.8 MiB
1600x1400px
2.8 MiB
1600x1400px