From 28ca15ca0b7c81e09373e70907d16e70e2bcc2a5 Mon Sep 17 00:00:00 2001 From: claude-bot Date: Thu, 4 Jun 2026 11:32:46 +0000 Subject: [PATCH] deploy(ET-014): tag v0.0.6 + deploy log (SUCCESS) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - PR #28 merged into main (864181e). - Tag v0.0.6 pushed. - Deploy hook (ssh slin@127.0.0.1) RC=0. - Healthcheck GET /enduro/ → 200 first try. - Smoke (real URLs /enduro/{app.css,app.js,units.js,gpx.js,gps_tracks.js}) all 200; deployed app.js carries ET-014/ADR-019/sheet-popup-yield markers (4/3/2 respectively) — fix really reached prod, not a stale image cache. - No rollback needed. CHANGELOG: added [v0.0.6] block (Fixed: ET-014 terrain-popup ↔ bottom-sheet yield on mobile), restored ET-012 calibration body under Unreleased that an earlier edit accidentally truncated. Artefacts: - docs/work-items/ET-014/14-deploy-log.md - CHANGELOG.md --- CHANGELOG.md | 22 +++++ docs/work-items/ET-014/14-deploy-log.md | 104 ++++++++++++++++++++++++ 2 files changed, 126 insertions(+) create mode 100644 docs/work-items/ET-014/14-deploy-log.md diff --git a/CHANGELOG.md b/CHANGELOG.md index f71e497..81aa998 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,8 +18,30 @@ Format: [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) z≥8 не затронут (регрессия). Тесты: 18 unit zoom-tier+simplify, 9 integration endpoint z5-z7, 2 perf (PERF-Z5-01/02; avg ~64 мс, p95 ~89 мс при 500 треках — ниже бюджета 200 мс/500 мс по M-6). + *(Код уехал на прод в составе v0.0.5; отдельный deploy-log ET-012 + не закрыт — см. ET-013/14-deploy-log.md, раздел «Что фактически + уехало в v0.0.5».)* Refs: ET-012. +## [v0.0.6] — 2026-06-04 + +> Деплой задеплоен на test (https://openclaw.mva154.duckdns.org/enduro/). +> Healthcheck + smoke PASS. См. `docs/work-items/ET-014/14-deploy-log.md`. + +### Fixed +- ET-014: Фикс UX-конфликта `terrain-popup ↔ bottom-sheet` на mobile. + При открытии любого bottom-sheet (route-details / settings / layers / + search / track-details) активный `terrain-popup` (hillshade / TRI / + hypso info) теперь корректно закрывается через `popup.remove()`, + а не остаётся висеть поверх sheet, перехватывая клики (ADR-019). + Поведение действует только при `window.innerWidth ≤ 768` (mobile); + на desktop popup сохраняется (AC-01..AC-08, REQ-F-1..F-8). + Файлы: `src/web/app.js` (+17 строк, новый блок «sheet-popup yield» + с обработчиком события `sheet:open`). Покрытие: 16 unit-тестов + (`tests/unit/sheet_popup.test.js` — 11 кейсов поведения + 5 boundary; + `tests/unit/test_sheet_popup.py` — 4 архитектурных invariants + ADR-019). API/БД/тайлы не затронуты. Refs: ET-014. + ## [v0.0.5] — 2026-06-04 > Деплой задеплоен на test (https://openclaw.mva154.duckdns.org/enduro/). diff --git a/docs/work-items/ET-014/14-deploy-log.md b/docs/work-items/ET-014/14-deploy-log.md new file mode 100644 index 0000000..a89d664 --- /dev/null +++ b/docs/work-items/ET-014/14-deploy-log.md @@ -0,0 +1,104 @@ +--- +deploy_status: SUCCESS +version: v0.0.6 +work_item: ET-014 +pr: 28 +merge_commit: 864181e +date_utc: "2026-06-04T11:30:00Z" +environment: test +healthcheck: PASS +smoke: PASS +--- +# Deploy Log — ET-014 + +- **Version (tag):** v0.0.6 +- **Date:** 2026-06-04 11:30 UTC +- **PR:** #28 (`fix(ui): terrain-popup закрывается при открытии bottom-sheet (ET-014)`), + merged into `main` (merge commit `864181e`). +- **Environment:** test (https://openclaw.mva154.duckdns.org/enduro/) +- **Healthcheck:** PASS +- **Smoke:** PASS +- **Status:** SUCCESS + +## Pipeline + +1. **Merge.** `POST /repos/admin/enduro-trails/pulls/28/merge` (Gitea API, + `Do=merge`) → HTTP 200. PR был `mergeable=true`, конфликтов с `main` + (на котором уже сидел деплой ET-013 / v0.0.5) не было. Merge commit + `864181e` сидит на `origin/main`. +2. **Tag.** Инкремент patch от `v0.0.5` → `v0.0.6`. Тег создан от + `origin/main` (`git tag v0.0.6 origin/main && git push origin v0.0.6`). +3. **Deploy hook.** `ssh slin@127.0.0.1 bash /home/slin/bin/enduro-deploy-hook.sh` + → RC=0. Хук тянет `main`, пересобирает/перезапускает docker compose + сервис `app` на хосте `mva154`. Previous-image-digest на хосте + (`/home/slin/repos/enduro-trails/.deploy-prev-image`) — + `sha256:4c09cd6f9fe8dccdf2bb70ac24679e44abf9ecdea050108173e43c9c86e4ff98` + (тот же, что был зафиксирован при деплое ET-013; хук не обновляет + маркер, если digest не изменился, но это не означает, что rebuild + не произошёл — см. smoke ниже, в задеплоенном `app.js` присутствуют + ET-014-маркеры). Этот digest доступен для `--rollback`. +4. **Healthcheck.** `GET https://openclaw.mva154.duckdns.org/enduro/` → + HTTP 200 с первой попытки (без необходимости polling-loop). +5. **Smoke.** + + | Ресурс | Статус | Размер | + |---|---|---| + | `/enduro/` (index.html) | 200 | 37 251 B | + | `/enduro/app.css` | 200 | 48 675 B | + | `/enduro/app.js` | 200 | 143 856 B | + | `/enduro/units.js` | 200 | 8 773 B | + | `/enduro/gpx.js` | 200 | 48 674 B | + | `/enduro/gps_tracks.js` | 200 | 38 695 B | + + Размер `/enduro/app.js` вырос со 142 964 B (v0.0.5) до 143 856 B + (+892 B) — это ровно тот yield-блок, который добавил фикс ET-014 + (`src/web/app.js`, +17 строк, см. ADR-019). + + Дополнительные проверки на специфику ET-014 (фикс «terrain-popup + yields to opening bottom-sheet»): + + - В задеплоенном `/enduro/app.js` присутствуют маркеры + `ET-014` (×4), `sheet-popup yield` (×2), `ADR-019` (×3) — + фикс действительно доехал до прода, а не остался старым + image-кэшом. + + > Замечание про шаблон smoke. Алгоритм деплоера упоминает + > `/static/style.json` и `/static/app.js`, но в `enduro-trails` + > такого префикса нет — статика монтируется в корень `/enduro/` + > (`app.js`, `app.css`, …); `style.json` приложение не отдаёт + > отдельным эндпоинтом, MapLibre-стиль формируется в `app.js` + > программно. Корректный smoke (как и в ET-013) — над реально + > отдаваемыми URL'ами (`/enduro/app.js` и пр.); они все 200. + > Прогон против шаблонных URL дал бы ложный rollback. Это + > известный gap в инструкции, отмеченный в deploy-log ET-013. + +## Что фактически уехало в v0.0.6 + +- **ET-014** — фикс UX-конфликта `terrain-popup ↔ bottom-sheet` + (`src/web/app.js`, +17 строк): при открытии любого bottom-sheet + активный `terrain-popup` корректно закрывается, а не остаётся + висеть поверх UI (ADR-019). Поведение действует только на mobile + (`window.innerWidth ≤ 768`); на desktop popup сохраняется (см. + AC-01..AC-08, REQ-F-1..F-8). Покрытие: 16 unit-тестов + (`tests/unit/sheet_popup.test.js`, 11 кейсов поведения + + 5 boundary; `tests/unit/test_sheet_popup.py`, 4 архитектурных + invariants ADR-019). +- Никаких изменений API/БД/тайлов; чисто клиентский fix. + +## Rollback + +Не понадобился. Если бы потребовался — план: +`ssh slin@127.0.0.1 bash /home/slin/bin/enduro-deploy-hook.sh --rollback` +(хук восстановит образ из `.deploy-prev-image`, +`sha256:4c09cd6f9fe8…ff98` — это, к слову, образ ET-013 v0.0.5). +НЕ `git checkout` в shared-репо — этот путь прямо запрещён в +инструкции деплоера, потому что загаживает рабочее дерево +и не откатывает прод. + +## Артефакты + +- Tag: `v0.0.6` (`origin/main` @ `864181e`) +- PR: #28 (merged) +- Deploy timestamp: 2026-06-04 11:30 UTC +- Previous image digest (для возможного rollback): + `sha256:4c09cd6f9fe8dccdf2bb70ac24679e44abf9ecdea050108173e43c9c86e4ff98`