From 19547d1797e50b51fff75045c78843d861e6a37e Mon Sep 17 00:00:00 2001 From: Panfilov Konstantin Date: Sun, 18 Oct 2026 01:04:06 +0300 Subject: [PATCH] fix(ci): deploy only changed legacy application files --- .gitea/workflows/deploy.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 5303581..02a103e 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -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 {