From e909dbcadacc71285c356baf0386aebfadc017e5 Mon Sep 17 00:00:00 2001 From: bot-backend Date: Thu, 20 Aug 2026 22:25:34 +0300 Subject: [PATCH] =?UTF-8?q?docs(rules):=20deploy.md=20=D0=BE=D1=82=D1=80?= =?UTF-8?q?=D0=B0=D0=B6=D0=B0=D0=B5=D1=82=20ops/*.sh=20=D0=B3=D0=BB=D0=BE?= =?UTF-8?q?=D0=B1=20=D0=B2=D0=BC=D0=B5=D1=81=D1=82=D0=BE=20=D1=82=D0=BE?= =?UTF-8?q?=D1=87=D0=B5=D1=87=D0=BD=D0=BE=D0=B3=D0=BE=20docker-prune.sh=20?= =?UTF-8?q?(#2203)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Оба утверждения в разделе Path triggers устарели ровно из-за коммита 2d2336cd в этой же ветке: список больше не содержит ops/docker-prune.sh (теперь ops/*.sh), а предупреждение «добавлять в paths явно» для любого нового ops/.sh больше не верно — глоб их подхватывает сам. Осталась одна деталь, о которой правда надо помнить: одиночная звёздочка не пересекает /, так что новый ПОДКАТАЛОГ внутри ops/ (как db-bootstrap/, glitchtip-auth-forwarder/) под глоб не попадает и всё ещё требует своей строки в paths — иначе тот же класс бага (#2887 / #2203) повторится для подкаталога. --- .claude/rules/deploy.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.claude/rules/deploy.md b/.claude/rules/deploy.md index 6b0077bb..95419c2f 100644 --- a/.claude/rules/deploy.md +++ b/.claude/rules/deploy.md @@ -25,8 +25,8 @@ Reference incident: PR #346 (2026-05-18) deploy → user сам нашёл prod ## Path triggers (Forgejo Actions, `.forgejo/workflows/`) -- `backend/**`, `frontend/**`, `Caddyfile`, `caddy/**`, `docker-compose.prod.yml`, `data/sql/**`, `ops/glitchtip-auth-forwarder/**`, `ops/db-bootstrap/**`, `ops/docker-prune.sh`, `.forgejo/workflows/deploy.yml` → `deploy.yml` (main Site Finder stack) -- ⚠️ `ops/**` целиком **не** триггерит — только перечисленные подпути. Любой новый файл в `ops/`, который исполняется на VM (cron / шаг деплоя), надо добавлять в `paths:` явно, иначе он не доедет до `/opt/gendesign` и будет молча исполняться в старой версии +- `backend/**`, `frontend/**`, `Caddyfile`, `caddy/**`, `docker-compose.prod.yml`, `data/sql/**`, `ops/glitchtip-auth-forwarder/**`, `ops/db-bootstrap/**`, `ops/*.sh`, `.forgejo/workflows/deploy.yml` → `deploy.yml` (main Site Finder stack) +- `ops/*.sh` (#2203) — любой скрипт непосредственно в `ops/` уезжает на VM автоматически, дополнять `paths:` вручную для нового `ops/.sh` не нужно. ⚠️ Одиночная звёздочка не пересекает `/` — **новый подкаталог** внутри `ops/` (по образцу `ops/db-bootstrap/`, `ops/glitchtip-auth-forwarder/`) под этот глоб не попадает и требует своей отдельной строки в `paths:`, иначе не доедет до `/opt/gendesign` и будет молча исполняться в старой версии - trade-in изменения → `deploy-tradein.yml` (отдельный stack; paths-filter base = last deployed SHA → накопленный diff, fail-safe build-all) - `docker-compose.obsidian.yml`, `scripts/setup-couchdb.sh`, `docs/obsidian-livesync.md` → `.forgejo/workflows/deploy-obsidian.yml` - `docs/**` alone → НЕ триггерит деплой