fix(ci): deploy only changed legacy application files
deploy-preland / deploy barbariskatest (push) Successful in 32s
deploy-preland / deploy zoomstage.online (push) Skipped
deploy-preland / deploy zoompixel.online (push) Successful in 37s
deploy-preland / deploy zoompixel.ru (push) Successful in 33s

This commit is contained in:
Panfilov Konstantin committed 2026-10-18 01:04:06 +03:00
1 parent 56456bb0cb
commit 19547d1797
1 file changed
+8 -2
+8 -2
View File
@@ -45,6 +45,10 @@ jobs:
env:
PRELAND_URL: ${{ matrix.url }}
REMOTE_DIR: ${{ matrix.dir }}
# Последний успешно опубликованный legacy-снимок. На нестабильный FTP
# отправляем только изменения приложения после него, а не весь набор
# уже присутствующих медиафайлов.
LEGACY_DEPLOY_BASE: dfbb086e2b131a084f3de5b0f92c9cd69616c01a
steps:
- name: Install tools
@@ -54,7 +58,7 @@ jobs:
# actions/checkout не запускается. Клонируем тот же main напрямую:
# это не меняет содержимое host config.json.
- name: Checkout production branch
run: git clone --depth 1 --branch main http://git.dira89kv.beget.tech:3000/anton/preland.git .
run: git clone --branch main http://git.dira89kv.beget.tech:3000/anton/preland.git .
- name: Preserve host config and add focus if absent
env:
@@ -93,7 +97,9 @@ jobs:
umask 077
script=$(mktemp)
trap 'rm -f "$script"' EXIT
git ls-files | grep -vE '^(\.gitea/|README\.md$|AGENTS\.md$|CLAUDE\.md$|\.gitignore$|requisites\.html$|config\.json$)' > files.txt
git diff --name-only "$LEGACY_DEPLOY_BASE"..HEAD > changed-files.txt
grep -vE '^(\.gitea/|README\.md$|AGENTS\.md$|CLAUDE\.md$|\.gitignore$|requisites\.html$|config\.json$|bin/|tests/)' \
changed-files.txt > files.txt || true
# имя уходит в адрес ftp:// как есть — пробелы и прочее экранирование не поддерживаем
if grep -q '[^A-Za-z0-9._/-]' files.txt; then echo "имена с недопустимыми символами:"; grep '[^A-Za-z0-9._/-]' files.txt; exit 1; fi
{