chore(test): forgejo pipeline smoke-test (end-to-end 6-phase) #2
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Контекст
После merge issue B (
fix(tools): port remaining GitHub-specific paths to Forgejo) нужно end-to-end проверить, что полный pipeline ISSUE→IMPLEMENT→CI→REVIEW→MERGE→MEMORY работает на Forgejo.Клон:
git clone https://slaid098:2cbcfa4b8f269bed7f1323b418cc7c11637f5cb7@git.slaid098.dev/slaid098/opencode-config.git. Env:FORGEJO_URL=https://git.slaid098.dev,FORGEJO_TOKEN=2cbcfa4b8f269bed7f1323b418cc7c11637f5cb7.В репо сейчас 0 open issues, 0 open PRs.
Задача
Провести smoke-test: создать throwaway issue + PR, прогнать все 6 фаз, verify каждую через
pipeline-status, cleanup.Step 0 — подготовка
chore(test): forgejo smoke testс 8 RU headings, без label. Записать N.chore/forgejo-smoke-testотmain, no-op commit, push.chore(test): forgejo smoke testс 4 headings +Closes #N. Записать M.Step 1 — ISSUE phase
pipeline-status({pr_number: M})→Phase 1 (ISSUE): DONE.Step 2 — IMPLEMENT phase
pipeline-status→Phase 2 (IMPLEMENT): DONE(commits на ветке).Step 3 — CI phase
pipeline-status→Phase 3 (CI): DONE(commit-status = success). Если не прошёл — poll (CI ~2 мин).Step 4 — REVIEW phase
Reviewer сабагент:
post-review({pr_number: M, verdict: "APPROVE", body: "smoke test ok"}).pipeline-status→Phase 4 (REVIEW): DONE.Step 5 — MERGE phase
merge-pr({pr_number: M}).pipeline-status→Phase 5 (MERGE): DONE.Step 6 — MEMORY phase
Memory-syncer сабагент.
pipeline-status→Phase 6 (MEMORY): DONE.Step 7 — финал
pipeline-status→Status: COMPLETE.Cleanup
Issue N auto-close через
Closes #N(или manually черезPATCH /issues/{N}). Ветка auto-delete черезmerge-pr.Контракты
gh(кроме read-only curl).Инварианты
mainдо smoke-test.FORGEJO_URL+FORGEJO_TOKENзаданы в env.ci.yml) — запустится на push/PR.Граничные случаи
Closes #Nauto-close: если Forgejo не auto-closes — закрыть manually (PATCH /issues/{N}с{state: "closed"}).headRefName(Fix #2): smoke-test проверяет, чтоpipeline-statusкорректно резолвит ветку.Влияние на связанные компоненты
slaid098/opencode-config: +1 closed issue, +1 merged PR (squash, ветка удалена).main+1 squash-commit.Вне scope
create-readmeForgejo PUT (покрыто issue B Fix #1).project-statusbranch-protection (Fix #3 — срабатывает только при существующей rule).releaseskill (Fix #4 — post-merge, не в 6 фазах).Критерии приемки
Closes #N.pipeline-status→ Phase 1 (ISSUE): DONE.pipeline-status→ Phase 2 (IMPLEMENT): DONE.pipeline-status→ Phase 3 (CI): DONE.post-review→ success.pipeline-status→ Phase 4 (REVIEW): DONE.merge-pr→ success.pipeline-status→ Phase 5 (MERGE): DONE.pipeline-status→ Phase 6 (MEMORY): DONE.pipeline-status→ Status: COMPLETE.