This directory is managed by the node jail, not by the build. rsync
was trying to delete homepage.json (placed by the other jail) and
failing with permission denied.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The deploy user cannot set timestamps on the jail root directory.
Drop -a (which implies -t, -p, -o, -g) in favor of -rlz (recursive,
symlinks, compress) which is sufficient for deploying static files.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
SCP only copies files over, leaving deleted files on the server. rsync
with --delete compares source and destination, removing files that no
longer exist in the build output.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
SCP can't access the jail filesystem directly; use SSH + bastille cmd
instead, same pattern as the node jail deploy workflow.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Adds a pre-build SCP step to pull the live homepage config from the
node jail, so GitHub Actions always builds with the latest admin-saved
config instead of the stale committed version.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- deploy.yml: add missing BLUESKY_HANDLE env var to Build site step
- deploy.yml: fix GITHUB_USERNAME secret name (was GH_USERNAME)
- mastodonFeed.js: read MASTODON_URL first, fall back to MASTODON_INSTANCE
- mastodonFeed.js: add early-return guard when instance/user vars are empty
- mastodonFeed.js: also accept MASTODON_USERNAME as fallback for MASTODON_USER
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>