deploy(ET-013): tag v0.0.5 + deploy log (SUCCESS)
All checks were successful
CI / lint (pull_request) Successful in 5s
CI / test (pull_request) Successful in 9s
CI / build (pull_request) Successful in 2s

Pipeline: PR #26 merged → tag v0.0.5 on origin/main → deploy hook RC=0
→ healthcheck HTTP 200 → smoke PASS (index + 5 static assets + terrain
endpoints `hillshade`/`tri`). Deployed app.js (142 964 B) содержит ET-013
маркеры (interpolate, raster-opacity, ET-013) — zoom-aware paint реально
доехал, не остался image-кэшом.

Артефакты:
- CHANGELOG: ET-013 entries (главный feat + F-1 + F-2) перенесены из
  [Unreleased] в новый [v0.0.5] — 2026-06-04; добавлен placeholder-блок
  [v0.0.4] (ET-012 deploy log пишется в отдельном PR #25 / `deploy/ET-012-v0.0.4-log`,
  его entries я НЕ трогаю — остаются под [Unreleased]).
- docs/work-items/ET-013/14-deploy-log.md с YAML-frontmatter
  `deploy_status: SUCCESS` (читается оркестратором, см. QG check_deploy_status).

Refs: ET-013, PR #26 (merge be7a052), tag v0.0.5.
This commit is contained in:
2026-06-04 10:15:00 +00:00
parent be7a0524f9
commit e982e18456
2 changed files with 136 additions and 19 deletions

View File

@@ -0,0 +1,92 @@
---
deploy_status: SUCCESS
version: v0.0.5
work_item: ET-013
pr: 26
merge_commit: be7a052
date_utc: "2026-06-04T10:13:00Z"
environment: test
healthcheck: PASS
smoke: PASS
---
# Deploy Log — ET-013
- **Version (tag):** v0.0.5
- **Date:** 2026-06-04 10:13 UTC
- **PR:** #26 (`feat(terrain): zoom-aware paint для hillshade/TRI на z9-z11 (ET-013)`),
merged into `main` (merge commit `be7a052`).
- **Environment:** test (https://openclaw.mva154.duckdns.org/enduro/)
- **Healthcheck:** PASS
- **Smoke:** PASS
- **Status:** SUCCESS
## Pipeline
1. **Merge.** `POST /repos/admin/enduro-trails/pulls/26/merge` (Gitea API,
`Do=merge`) → HTTP 200. Merge commit `be7a052` сидит на `origin/main`.
2. **Tag.** Инкремент patch от `v0.0.4``v0.0.5`. Тег создан от
`origin/main` и запушен (`git tag v0.0.5 origin/main && git push origin v0.0.5`).
3. **Deploy hook.** `ssh slin@127.0.0.1 bash /home/slin/bin/enduro-deploy-hook.sh`
→ RC=0. Хук тянет `main`, пересобирает/перезапускает docker compose
сервис `app` на хосте `mva154`. Предыдущий image-digest зафиксирован
в `/repos/enduro-trails/.deploy-prev-image`
(`sha256:4c09cd6f9fe8dccdf2bb70ac24679e44abf9ecdea050108173e43c9c86e4ff98`)
и доступен для `--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 | 142 964 B |
| `/enduro/units.js` | 200 | 8 773 B |
| `/enduro/gpx.js` | 200 | 48 674 B |
| `/enduro/gps_tracks.js` | 200 | 38 695 B |
Дополнительные проверки на специфику ET-013:
- `/enduro/terrain/hillshade/{z}/{x}/{y}.png` отвечает на запросы
(404 на несуществующих координатах — nginx-route жив).
- `/enduro/terrain/tri/{z}/{x}/{y}.png` отвечает 404 (а не «Unknown
layer» / 5xx) — whitelist на FastAPI (F-1 fix) тоже жив.
- В задеплоенном `/enduro/app.js` (142 964 B) присутствуют маркеры
`ET-013` (×6), `interpolate` (×3) и `raster-opacity` (×6) —
zoom-aware paint реально доехал до прода, а не остался старым
image-кэшом.
> Замечание про шаблон. Алгоритм деплоера упоминает
> `/static/style.json` и `/static/app.js`, но в текущем `enduro-trails`
> такого префикса нет: статика монтируется в корень `/enduro/`
> (`app.js`, `app.css`, …). Корректный smoke — над реально отдаваемыми
> URL'ами (`/enduro/app.js` и пр.); они все 200.
## Что фактически уехало в v0.0.5
- **ET-013** — zoom-aware paint для terrain-слоёв `hillshade` и `tri`
на z9-z11 (`src/web/app.js`, `src/web/index.html`, ADR-017) + F-1
фикс whitelist `tri` в FastAPI (`src/api/main.py`) + F-2 параметризация
integration-теста.
- **«Хвостом» из неотгруженных предыдущих релизов** — код ET-012
(`feat(gps-tracks): lower public-tracks minzoom to z5`) тоже едет
на проде, потому что hook тянет `main` целиком, а ET-012 deploy в
своё время не доехал (см. PR #25 `deploy/ET-012-v0.0.4-log`). Это
отмечено в `[Unreleased]`-блоке CHANGELOG и должно быть закрыто
отдельным deploy-логом из ET-012 (артефакт этого work-item я не трогаю).
## Rollback
Не понадобился. Если бы потребовался — план:
`ssh slin@127.0.0.1 bash /home/slin/bin/enduro-deploy-hook.sh --rollback`
(хук восстановит образ из `.deploy-prev-image`,
`sha256:4c09cd6f9fe8…ff98`). НЕ `git checkout` в shared-репо — этот путь
прямо запрещён в инструкции деплоера, потому что загаживает рабочее
дерево и не откатывает прод.
## Артефакты
- Tag: `v0.0.5` (`origin/main` @ `be7a052`)
- PR: #26 (merged)
- Deploy timestamp: 2026-06-04 10:13 UTC
- Previous image digest (для возможного rollback):
`sha256:4c09cd6f9fe8dccdf2bb70ac24679e44abf9ecdea050108173e43c9c86e4ff98`