Deploy strictly from git, not a host checkout #7

Closed
opened 2026-05-31 10:10:34 +02:00 by arne · 0 comments
Owner

deploy.sh builds with go build . from whatever working tree it runs in, so production depends on a specific host's checkout (servo). That's exactly how the real code ended up trapped off-git. Deploys should instead build from a fresh clone of the canonical git remote, pinned to a pushed ref, so what runs in production is always exactly what is committed and pushed.

Scope: rewrite scripts/deploy.sh to clone origin at a given ref (default main) into a temp dir, build there, deploy, and clean up — refusing to deploy local/unpushed trees. No new infrastructure. Forgejo Actions CI/CD can build on this later.

deploy.sh builds with `go build .` from whatever working tree it runs in, so production depends on a specific host's checkout (servo). That's exactly how the real code ended up trapped off-git. Deploys should instead build from a fresh clone of the canonical git remote, pinned to a pushed ref, so what runs in production is always exactly what is committed and pushed. Scope: rewrite scripts/deploy.sh to clone origin at a given ref (default main) into a temp dir, build there, deploy, and clean up — refusing to deploy local/unpushed trees. No new infrastructure. Forgejo Actions CI/CD can build on this later.
arne closed this issue 2026-05-31 10:11:47 +02:00
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
arne/news#7
No description provided.