tasks: мок-publish на Gitea — ТЗ gitea-mock-publish обеим командам, орга apilki, handoff
This commit is contained in:
@@ -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
|
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` |
|
| `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).
|
**Раунд 1 (мокабельность publish, оба закрыли):**
|
||||||
2. **ozon** — письмо 19:40Z + таска `publish-mockable`: выровнять publish с ym (data.registry + .npmrc + --registry; data.remoteBase для push; опц. data.githubApiBase). У них всё хардкод.
|
- ozon `publish-mockable` ✅ (175/175): data.registry/remoteBase/githubApiBase + PUBLISH_* env.
|
||||||
3. **yandex** — письмо 19:52Z + таска `publish-mockable`: добавить только `data.githubApiBase` для REST github-distro (repoExists/ensureRepo/createRelease); registry+remoteBase уже есть.
|
- 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)
|
## Стенд (host-stacks/local/sched-pipelines)
|
||||||
|
|
||||||
|
|||||||
@@ -19,9 +19,14 @@
|
|||||||
- docker-compose: ozon bind-mount на хост (`./data-ozon` → /app/data + state.json → /app/state.json) — раньше state/output жили в слое образа и терялись.
|
- 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).
|
- Находка: у 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):**
|
**Открытые вопросы (к sched):**
|
||||||
1. applyTask timeoutMs-баг (см. письмо 19:30Z) — фикс + absent=-1 дефолт.
|
1. ✅ applyTask timeoutMs + absent=-1 — ЗАКРЫТО (0.6.0, проверено живьём).
|
||||||
2. Устаревшая таска `pipeline` (disabled) осталась в БД sched после переименования — sync не удаляет, контракт такой.
|
2. Устаревшая таска `pipeline` (disabled) осталась в БД sched — sync не удаляет, контракт такой (не трогаем).
|
||||||
|
|
||||||
|
|
||||||
**Поднято и проверено:**
|
**Поднято и проверено:**
|
||||||
|
|||||||
Reference in New Issue
Block a user