fix(ci): deploy only changed legacy application files
This commit is contained in:
1 parent
56456bb0cb
commit
19547d1797
1 file changed
+8
-2
@@ -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
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user