release() pushes stale local source branch -> non-ff rejection blocks all deploys #3
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Root cause of the 2026-07-10 muralla deploy blocker
release()(server.js ~L657-662) pushes the local source branch without first syncing it to origin:When the engine clone (
/root/apps/<app>) has a stale localmain(behindorigin/main— e.g. because merges happened via PRs on Forgejo, never in this clone),git push origin mainis rejected non-fast-forward andrelease()500s atpush_source, blocking every deploy. This is exactly what stalled muralla for ~36 commits. (It was misdiagnosed in the handoff as aknown_hostsperms issue; the real cause is the stale local ref.)Fix
After
fetch, fast-forward the local source branch to origin before pushing:--ff-onlyis correct in all cases: behind → fast-forwards (push becomes no-op); ahead → no-op (push sends local commits); genuinely diverged → errors loudly (a real problem worth surfacing). Same guard belongs on the deploy_branch checkout path.Notes
git -C /root/apps/muralla merge --ff-only origin/mainbefore triggering/release. The deploy then succeeded end-to-end.