chore(ci): bootstrap CI + hooks
Squash-merge bootstrap-cicd into integration
This commit is contained in:
36
instructions/git-workflow.md
Normal file
36
instructions/git-workflow.md
Normal file
@@ -0,0 +1,36 @@
|
||||
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
|
||||
1) Feature branches PR into integration; checks pass → auto‑merge.
|
||||
2) PR integration → main; 1 approval required; on merge, deploy and tag release.
|
||||
3) 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.
|
Reference in New Issue
Block a user