Skip to content

ci: production deploy job#9

Open
r1n04h wants to merge 1 commit into
masterfrom
ci-deploy-job
Open

ci: production deploy job#9
r1n04h wants to merge 1 commit into
masterfrom
ci-deploy-job

Conversation

@r1n04h
Copy link
Copy Markdown

@r1n04h r1n04h commented May 20, 2026

Note

Medium Risk
Introduces an automated production deploy pipeline using SSH password-based rsync and branch-based gating; misconfiguration could cause accidental deployments or overwrite server state despite exclusions.

Overview
Adds a production Deploy GitHub Actions workflow that triggers after successful CI on pushes to master (or manual dispatch), builds the app, reinstalls production-only deps, and rsyncs the result to a VPS using secrets and deploy.exclude.

Updates CI to pin Bun via .bun-version (and upgrades setup-bun to v2), adds a start:watch production script, and documents one-time deployment/server setup in docs/deploy.md/README.

Reviewed by Cursor Bugbot for commit 0bf9dfa. Bugbot is set up for automated code reviews on this repo. Configure here.

Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 0bf9dfa. Configure here.

Comment thread deploy.exclude
.github/
test/
docs/
*.sqlite
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SQLite WAL files unprotected from rsync deletion

Medium Severity

deploy.exclude only excludes *.sqlite, but rsync with --delete-delay also removes destination files that aren't present in the source and aren't covered by an exclude rule. SQLite's WAL mode produces *.sqlite-wal and *.sqlite-shm companion files alongside the main database. Because those patterns are missing from deploy.exclude, every rsync deploy will delete them from the VPS if they exist, which can corrupt the live database mid-operation.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 0bf9dfa. Configure here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant