Files
enduro-trails/docs/work-items/ET-014/14-deploy-log.md
claude-bot 28ca15ca0b
All checks were successful
CI / lint (pull_request) Successful in 5s
CI / test (pull_request) Successful in 10s
CI / build (pull_request) Successful in 3s
deploy(ET-014): tag v0.0.6 + deploy log (SUCCESS)
- 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
2026-06-04 11:32:46 +00:00

105 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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`