From 6a28ed8e4d9f8918c0a1814bee45f0d53170ba0f Mon Sep 17 00:00:00 2001 From: claude-bot Date: Fri, 5 Jun 2026 15:42:56 +0000 Subject: [PATCH] deploy(ET-015): tag v0.0.7 + deploy log (SUCCESS) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Деплой ET-015 (фикс контейнерного healthcheck) на test прошёл успешно: - Merge PR #30 → main (HTTP 200) - Tag v0.0.7 запушен - Deploy hook RC=0 (SSH slin@127.0.0.1) - Healthcheck PASS (HTTP 200 на /enduro/, 1-я попытка) - Smoke PASS (/, style.json, app.js, app.css на test) Артефакты: - docs/work-items/ET-015/14-deploy-log.md — deploy_status: SUCCESS - CHANGELOG.md — раздел [v0.0.7] — 2026-06-05 --- CHANGELOG.md | 4 ++- docs/work-items/ET-015/14-deploy-log.md | 41 +++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 docs/work-items/ET-015/14-deploy-log.md diff --git a/CHANGELOG.md b/CHANGELOG.md index fe6436b..3250ad2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,8 +5,10 @@ Format: [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) ## [Unreleased] +## [v0.0.7] — 2026-06-05 + ### Fixed -- ET-015: `docker-compose.yml` healthcheck сервиса `app` переведён с `curl -f` +- ET-015 (deployed v0.0.7, PR #30): `docker-compose.yml` healthcheck сервиса `app` переведён с `curl -f` (отсутствует в базовом `python:3.12-slim`) на python one-liner через `urllib.request` из stdlib — без изменений `Dockerfile` и `src/api/main.py`, без ребилда образа (достаточно `docker compose up -d app`). Внутренний diff --git a/docs/work-items/ET-015/14-deploy-log.md b/docs/work-items/ET-015/14-deploy-log.md new file mode 100644 index 0000000..12b64ad --- /dev/null +++ b/docs/work-items/ET-015/14-deploy-log.md @@ -0,0 +1,41 @@ +--- +deploy_status: SUCCESS # SUCCESS | FAILED — машинный вердикт, читается оркестратором +version: v0.0.7 +--- +# Deploy Log — ET-015 + +- **Version:** v0.0.7 +- **Date:** 2026-06-05 15:39 UTC +- **PR:** #30 +- **Branch:** feature/ET-015-healthcheck-enduro-trails-app- +- **Environment:** test (https://openclaw.mva154.duckdns.org/enduro/) +- **Merge:** OK (Gitea API, HTTP 200) +- **Tag:** v0.0.7 (pushed to origin) +- **Deploy hook:** OK (RC=0, SSH slin@127.0.0.1) +- **Healthcheck:** PASS (HTTP 200 on `/enduro/`, 1-я попытка) +- **Smoke:** PASS + - `GET /enduro/` → 200 + - `GET /enduro/style.json` → 200 + - `GET /enduro/app.js` → 200 + - `GET /enduro/app.css` → 200 + - Примечание: шаблонные URL в инструкции деплоера используют префикс + `/enduro/static/...`, но это приложение раздаёт статику плоско из + `/enduro/` (см. `src/web/index.html` — ``). + Использованы фактические URL раздачи; контракт `/api/health` также + отвечает 200 (см. healthcheck выше). +- **Status:** SUCCESS + +## Что задеплоено +ET-015 — фикс контейнерного healthcheck сервиса `app`: +- `docker-compose.yml` `healthcheck.test` переведён с `curl -f` (не + установлен в `python:3.12-slim`) на python one-liner через + `urllib.request` из stdlib. +- Без изменений `Dockerfile` и `src/api/main.py`, без ребилда образа. +- `start_period: 20s` смягчает окно холодного старта uvicorn; внутренний + `urlopen(timeout=3)` < внешнего `healthcheck.timeout: 5s` (AC-07). +- Покрытие: 12 static-тестов + 6 unit-тестов. ADR-020. + +## Артефакты +- PR: http://localhost:3000/admin/enduro-trails/pulls/30 +- Tag: v0.0.7 +- Commit: e8a8335 (merge в main)