fix(deploy): switch from SCP to rsync --delete to remove stale files

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>
This commit is contained in:
svemagie
2026-03-16 21:27:39 +01:00
co-authored by Claude Opus 4.6
parent eddbc3cbd9
commit 7ebd3037e6
+11 -10
View File
@@ -108,13 +108,14 @@ jobs:
FUNKWHALE_FETCH_CACHE_DURATION: ${{ secrets.FUNKWHALE_FETCH_CACHE_DURATION }} FUNKWHALE_FETCH_CACHE_DURATION: ${{ secrets.FUNKWHALE_FETCH_CACHE_DURATION }}
LASTFM_FETCH_CACHE_DURATION: ${{ secrets.LASTFM_FETCH_CACHE_DURATION }} LASTFM_FETCH_CACHE_DURATION: ${{ secrets.LASTFM_FETCH_CACHE_DURATION }}
- name: Deploy via SCP - name: Deploy via rsync
uses: appleboy/scp-action@v0.1.7 run: |
with: mkdir -p ~/.ssh
host: ${{ secrets.SSH_HOST }} echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa
port: 222 chmod 600 ~/.ssh/id_rsa
username: ${{ secrets.SSH_USER }} ssh-keyscan -p 222 ${{ secrets.SSH_HOST }} >> ~/.ssh/known_hosts 2>/dev/null
key: ${{ secrets.SSH_PRIVATE_KEY }} cp .env _site/.env
source: "_site/*,.env" rsync -avz --delete \
target: "/usr/local/bastille/jails/web/root/usr/local/www/blog" -e "ssh -p 222" \
strip_components: 1 _site/ \
${{ secrets.SSH_USER }}@${{ secrets.SSH_HOST }}:/usr/local/bastille/jails/web/root/usr/local/www/blog/