Merge pull request 'deploy(ET-014): tag v0.0.6 + deploy log (SUCCESS)' (#29) from deploy/ET-014-v0.0.6-log into main
This commit was merged in pull request #29.
This commit is contained in:
22
CHANGELOG.md
22
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/).
|
||||
|
||||
104
docs/work-items/ET-014/14-deploy-log.md
Normal file
104
docs/work-items/ET-014/14-deploy-log.md
Normal file
@@ -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`
|
||||
Reference in New Issue
Block a user