tasks: мок-publish на Gitea — ТЗ gitea-mock-publish обеим командам, орга apilki, handoff

This commit is contained in:
2026-08-20 23:02:49 +03:00
parent 4e9e105a6d
commit a5ee6c88a7
2 changed files with 20 additions and 7 deletions

View File

@@ -1,5 +1,5 @@
---
_last_updated_: 2026-08-20T20:00:00Z
_last_updated_: 2026-08-20T20:15:00Z
session_id: sched-pipelines-apply-0.5.0-2026-08-20
---
@@ -18,11 +18,19 @@ session_id: sched-pipelines-apply-0.5.0-2026-08-20
|---|---|---|
| `sched-pipelines-local-stack` (🟡 active) | schedd 0.5.0; **оба dry-run зелёные через sched (ozon 8/8, yandex 11/11)**; publish-мок ТЗ на досках команд | `.tasks/sched-pipelines-local-stack.md` |
## Что разослано командам (жду фиксы)
## Раунды ТЗ
1. **sched** — ✅ ЗАКРЫТО (0.6.0): applyTask фикс + absent=-1 дефолт, проверено живьём (timeoutMs убран из tasks.json, live-sync дал -1).
2. **ozon** — письмо 19:40Z + таска `publish-mockable`: выровнять publish с ym (data.registry + .npmrc + --registry; data.remoteBase для push; опц. data.githubApiBase). У них всё хардкод.
3. **yandex** — письмо 19:52Z + таска `publish-mockable`: добавить только `data.githubApiBase` для REST github-distro (repoExists/ensureRepo/createRelease); registry+remoteBase уже есть.
**Раунд 1 (мокабельность publish, оба закрыли):**
- ozon `publish-mockable` ✅ (175/175): data.registry/remoteBase/githubApiBase + PUBLISH_* env.
- yandex `publish-mockable`: data.githubApiBase для REST (registry/remoteBase были).
**Раунд 2 (Gitea-совместимость, оба на досках ⚪ `gitea-mock-publish`):**
- Мок-publish = verdaccio (npm) + наш Gitea (git.kzntsv.site, орга apilki, API v1).
- ozon: gh repo create CLI → REST POST /orgs/{owner}/repos (Gitea нет /api/v3); remoteBase URL-join.
- yandex: только remoteBase URL-join (REST уже ок).
- Репо руками НЕ создавать — create-if-missing воркерами (тестируемый сценарий). Gitea push auth проверен: x-access-token:TOKEN@ работает.
**sched** — ✅ ЗАКРЫТО (0.6.0): applyTask timeoutMs + absent=-1 дефолт, проверено живьём.
## Стенд (host-stacks/local/sched-pipelines)

View File

@@ -19,9 +19,14 @@
- docker-compose: ozon bind-mount на хост (`./data-ozon` → /app/data + state.json → /app/state.json) — раньше state/output жили в слое образа и терялись.
- Находка: у ozon state.json/output в слое образа (run.js хардкодит ROOT), /app/data volume пуст — это их недоработка, state персистится только mount'ом. У ym state в bind (data-ym).
**Мок-publish на Gitea (решение vitya):**
- мок-npm = наш verdaccio (verdaccio.kzntsv.site), мок-GitHub = наш Gitea (git.kzntsv.site, орга `apilki` создана, API v1, push через x-access-token работает — проверено живьём).
- Репо руками НЕ создаю — воркеры сами (create-if-missing), это тестируемый сценарий.
- ТЗ обеим командам (`gitea-mock-publish` на досках): ozon — заменить `gh repo create` CLI на REST POST /orgs/{owner}/repos + remoteBase URL-join; yandex — только remoteBase URL-join (REST уже Gitea-совместим).
**Открытые вопросы (к sched):**
1. applyTask timeoutMs-баг (см. письмо 19:30Z) — фикс + absent=-1 дефолт.
2. Устаревшая таска `pipeline` (disabled) осталась в БД sched после переименования — sync не удаляет, контракт такой.
1. applyTask timeoutMs + absent=-1 — ЗАКРЫТО (0.6.0, проверено живьём).
2. Устаревшая таска `pipeline` (disabled) осталась в БД sched — sync не удаляет, контракт такой (не трогаем).
**Поднято и проверено:**