Skip to content

docs(deployment): record how to break the build-old deadlock - #18

Merged
datlechin merged 1 commit into
mainfrom
docs/deploy-recovery
Aug 17, 2026
Merged

docs(deployment): record how to break the build-old deadlock#18
datlechin merged 1 commit into
mainfrom
docs/deploy-recovery

Conversation

@datlechin

Copy link
Copy Markdown
Member

Follow-up to #17. That PR fixed the script; this documents the one manual step a server already stuck in the loop needs.

Why a manual step is unavoidable

The pinned authorized_keys command runs the copy of scripts/deploy.sh on the server, and the cleanliness check at line 98 runs before git pull at line 104. So a server holding build-old/ssr-old cannot reach the commit that teaches the script to ignore them. #17 fixes every future deploy; it cannot fix the current one.

cd /var/www/tablepro.app && rm -rf public/build-old bootstrap/ssr-old

Then re-run the workflow.

Worth writing down because the error message says what is wrong but not what to do, and because the fix looks more dangerous than it is: those two directories are the previous release's bundles. The live ones are public/build and bootstrap/ssr. Deleting them costs only the ability to roll back to the release before last, which git can rebuild.

🤖 Generated with Claude Code

The script skips its own scratch directories now, but a server that has not yet
pulled that change cannot get past the cleanliness check to reach it: the check
runs before `git pull`, and the pinned SSH command runs the copy of the script
already on the server. It needs one manual `rm -rf` to break the loop, once.

Writing it down because the failure is self-inflicted, the message does not say
what to do about it, and the fix looks more dangerous than it is — those two
directories are the previous release's bundles, not the live ones.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@datlechin
datlechin merged commit 7926b40 into main Aug 17, 2026
5 checks passed
@datlechin
datlechin deleted the docs/deploy-recovery branch August 17, 2026 11:26
datlechin added a commit that referenced this pull request Aug 17, 2026
The script skips its own scratch directories now, but a server that has not yet
pulled that change cannot get past the cleanliness check to reach it: the check
runs before `git pull`, and the pinned SSH command runs the copy of the script
already on the server. It needs one manual `rm -rf` to break the loop, once.

Writing it down because the failure is self-inflicted, the message does not say
what to do about it, and the fix looks more dangerous than it is — those two
directories are the previous release's bundles, not the live ones.
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