1.7 KiB
1.7 KiB
Git Workflow – Finalized Instructions
Scope
- Applies to this repo. Users typically consume tagged releases; contributors work via branches/PRs. CI/CD config is Gitea‑native; no GitHub/GitLab.
Branches
- main: production; default branch. Protected.
- integration: development (unprotected; merges auto on green).
- Working branches:
feature/<topic>
,fix/<topic>
,chore/<topic>
from integration. - Hotfix:
hotfix/<date>
from main; PR back to main, then forward-merge into integration. - Release branch: ephemeral or lightweight
release/*
. Protect when present; optionally fast‑forward to latest tag via CI.
Merges & Approvals
- Feature → integration: squash merge; auto‑merge on green (no human approval). Self‑merge allowed.
- integration → main: squash merge; require 1 approval; self‑merge not allowed.
- Force pushes disabled on protected branches (
main
,release/*
); PRs required.
Commit Style
- Conventional Commits for PR titles and commit messages.
Versioning & Tags
- Calendar tags: vYYYY.MM.DD-HHMM (UTC). Annotated tags only on main after release.
Release Flow
- Feature branches PR into integration; checks pass → auto‑merge.
- PR integration → main; 1 approval required; on merge, deploy and tag release.
- Optional: CI fast‑forwards a release branch pointer to the new tag.
Protected Checks (to enable when runners are ready)
- On protected branches (
main
,release/*
): ci / lint, ci / build, ci / commitlint. Add ci / test and ci / security if/when introduced.
CODEOWNERS
- Keep minimal; require your review for integration → main.
Notes
- No secrets required for this repo. Future repos should integrate Vault for secrets.