From a5ee6c88a77e44cd5771ea87c463012ab61f5b67 Mon Sep 17 00:00:00 2001 From: vitya Date: Thu, 20 Aug 2026 23:02:49 +0300 Subject: [PATCH] =?UTF-8?q?tasks:=20=D0=BC=D0=BE=D0=BA-publish=20=D0=BD?= =?UTF-8?q?=D0=B0=20Gitea=20=E2=80=94=20=D0=A2=D0=97=20gitea-mock-publish?= =?UTF-8?q?=20=D0=BE=D0=B1=D0=B5=D0=B8=D0=BC=20=D0=BA=D0=BE=D0=BC=D0=B0?= =?UTF-8?q?=D0=BD=D0=B4=D0=B0=D0=BC,=20=D0=BE=D1=80=D0=B3=D0=B0=20apilki,?= =?UTF-8?q?=20handoff?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .tasks/NEXT_SESSION.md | 18 +++++++++++++----- .tasks/sched-pipelines-local-stack.md | 9 +++++++-- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/.tasks/NEXT_SESSION.md b/.tasks/NEXT_SESSION.md index e8b0b3e..ef5df04 100644 --- a/.tasks/NEXT_SESSION.md +++ b/.tasks/NEXT_SESSION.md @@ -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) diff --git a/.tasks/sched-pipelines-local-stack.md b/.tasks/sched-pipelines-local-stack.md index 46a7dab..5e1ae71 100644 --- a/.tasks/sched-pipelines-local-stack.md +++ b/.tasks/sched-pipelines-local-stack.md @@ -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 не удаляет, контракт такой (не трогаем). **Поднято и проверено:**