quality / commitlint (push) Skipped
CD / update-wiki (push) Failing after 7s
quality / changes (push) Successful in 4s
quality / docker-check (push) Skipped
quality / web (push) Failing after 38s
quality / api (push) Successful in 49s
CD / quality (push) Failing after 1m36s
CD / publish (push) Skipped
1.6 KiB
1.6 KiB
Contributing
Gitflow
- main — production; merges only from
release/*andhotfix/* - develop — integration branch (default for development)
- feature/* —
feature/[issue-id]-descriptionfromdevelop - release/vX.Y.Z — stabilization from
develop - hotfix/vX.Y.Z — urgent fixes from
main
Commits
Format: type(scope): description
Types: feat, fix, docs, style, refactor, test, chore
Pull requests
- Target
developfor features;mainfor release/hotfix - CI quality jobs (
web,api) must pass - At least one approval
- Rebase/merge when up to date with target branch
- Delete branch after merge
Versioning
- SemVer через semantic-release на push в
main - Не править версию вручную; тег
vX.Y.Zставит CI - Подробнее:
docs/releasing.md
Branch protection (Gitea)
Configure for main and develop:
- Require pull request reviews
- Require status checks (
CI/ quality jobsweb,api) - Require branches to be up to date
- No force push, no deletion
Local development
cp .env.example .env
pnpm install
pnpm --filter @cdnmanager/shared build
pnpm --filter @cdnmanager/db build
# API (:8080)
pnpm --filter @cdnmanager/api dev
# Frontend (:5173, proxies /api → :8080)
pnpm --filter web dev
Release process
Релизы делает workflow CD на push в main (semantic-release + bake). Не создавать ветки release/* и не bump'ать файлы версии вручную. См. docs/releasing.md.