refactor(templates): pyproject URLs to Forgejo, remove dependabot, drop setup-uv #15
Loading…
Reference in a new issue
No description provided.
Delete branch "refactor/templates/forgejo-first"
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?
Что сделано
pyproject.tomlв шаблонах (cli,backend,fullstack/backend):[project.urls]Homepage/Repository/Issues —github.com/slaid098→git.slaid098.dev/slaid098(9 замен).github/dependabot.ymlудалены (cli,backend,fullstack/,fullstack/backend) — Forgejo не имеет встроенного dependabot, шаблоны не должны поставлять мёртвый конфиг.github/workflows/ci.ymlв шаблонах:astral-sh/setup-uv@v3steps удалены (uv preinstalled в runner image, как в основном репо commita08385c);actions/setup-node@v4в fullstack root оставлен (node НЕ preinstalled,setup-nodeсуществует на code.forgejo.org)tests/test_cookiecutter_templates.py: убран.github/dependabot.ymlизexpected_filestest_backend_structure_full; добавлены 3 регрессионных теста (×3 параметризации = 9):test_pyproject_urls_point_to_forgejo,test_no_dependabot_in_templates,test_ci_no_setup_uv_actionПочему
Issue #8: cookiecutter templates всё ещё содержали GitHub-эру (hardcoded
github.comURLs, dependabot.yml). PR #13 переписалproject-template/SKILL.mdTemplate GITHUB → Template FORGEJO, но реальные template-файлы остались со старыми URL'ами и dependabot. Новые проекты через/project-templateполучали GitHub URLs в pyproject.toml и мёртвый dependabot.yml.setup-uvне существует на code.forgejo.org (404) — шаблоны должны использовать preinstalled uv как основной репо..pre-commit-config.yamlgithub.com URL'ы (ruff/mypy/pre-commit-hooks upstream) оставлены — это upstream constraint (как cloudflared download URL в Dockerfile PR#14), не нарушает Forgejo-first.project-template/SKILL.mdуже обновлён в PR #2/PR #13 (L125:$FORGEJO_URL/<owner>/<project_name>) — правки skill не нужны.Watch out
.github/workflows/ci.ymlв шаблонах изменены (удалён setup-uv) — issue #8 сам себе противоречит ("НЕ трогать" vs "setup-uv заменить"), но критерии приёмки явные:rg setup-uv → 0. Структура jobs сохранена, только убран step с action.actions/setup-node@v4в fullstack root ci.yml оставлен — node не preinstalled в runner image, и setup-node существует на code.forgejo.org (200)..pre-commit-config.yamlвсё ещё содержитgithub.com(upstream hooks) — вне scope, оставлено намеренно.renovate.jsonНЕ добавлен (issue #8 явно: вне scope, опциональная фича).hooks/не тронуты (нейтральны).Pending
renovate.jsontemplate — отдельная задача (опциональная auto-dependency-updates для новых проектов).pre-commit-config.yamlmirror на Forgejo — если появится Forgejo-mirror pre-commit hooks, можно переключить (сейчас upstream на github.com)Closes #8
Code Review Summary
Чистый refactor cookiecutter-templates в Forgejo-first: 3 pyproject.toml URLs →
git.slaid098.dev, 4 dependabot.yml удалены,astral-sh/setup-uv@v3убран из 4 ci.yml. 3 новых регрессионных теста (×3 параметризации = 9 проверок) закрывают все изменения. CI green, mergeable=true.Positives
test_pyproject_urls_point_to_forgejo,test_no_dependabot_in_templates,test_ci_no_setup_uv_action— docstrings ссылаются на issue #8, assertions точные (проверяют и отсутствие github.com, и наличие git.slaid098.dev). Параметризация ×3 шаблона покрывает все варианты.test_backend_structure_fullкорректно обновлён:.github/dependabot.ymlубран изexpected_files(строка 109), остальные structure-тесты (cli, fullstack) dependabot не ожидали.project-template/SKILL.mdуже Forgejo-first (PR #13, L125$FORGEJO_URL/<owner>/<project_name>) — templates теперь синхронизированы со skill.## Что сделано,## Почему,## Watch out,## Pending) заполнены осмысленно. Watch out объясняет противоречие в issue #8 ("НЕ трогать" vs "setup-uv заменить") и решение (критерии приёмки явные:rg setup-uv → 0). Pending честно перечисляет отложенное (renovate.json, pre-commit mirror).Cross-file impact (проверено, не блокирующее)
project-status.py:1390— oracle проверяет.github/dependabot.ymlв сгенерированных проектах (WARN "обновления вручную" если нет, не FAIL). Templates без dependabot → новые проекты получат WARN — ожидаемо и корректно (dependabot убран намеренно). Не breakage.create-readme.ts:63—https://github.com/slaid098/${repo_name}.git— pre-existing bug (ADR-093: GitHub мёртв, Forgejo-first). Вне scope PR #15 (PR про cookiecutter templates, не про create-readme tool). Отмечаю для отдельной задачи.Suggestions (info, not blocking)
.pre-commit-config.yamlв templates (cli/backend/fullstack) всё ещё содержитhttps://github.com/...для upstream hooks (ruff-pre-commit, mirrors-mypy, pre-commit-hooks). PR body явно отмечает это как upstream constraint, вне scope — корректно. Если появится Forgejo-mirror pre-commit hooks, можно переключить (уже в Pending).renovate.jsonне добавлен — issue #8 явно: опционально, вне scope. Корректно отложено в Pending.Verdict: APPROVE