chore(ci): bootstrap CI + hooks #1

Merged
reachableceo merged 7 commits from bootstrap-cicd into integration 2025-09-10 21:48:32 +00:00
2 changed files with 10 additions and 11 deletions
Showing only changes of commit d11534d411 - Show all commits

View File

@@ -21,8 +21,8 @@ TODO
- [ ] Optional: add CODEOWNERS
- Protections & settings (in Gitea UI)
- [ ] Protect main and integration with required checks
- [ ] Enable auto-merge on green for feature→integration
- [ ] Protect main and release/* with required checks
- [ ] Leave integration unprotected; allow auto-merge on green
- [ ] Require 1 approval for integration→main
- [ ] Revisit enabling CI and protections after runners are ready (target: 2025-09-24)

View File

@@ -4,16 +4,16 @@ Scope
- Applies to this repo. Users typically consume tagged releases; contributors work via branches/PRs. CI/CD config is Giteanative; no GitHub/GitLab.
Branches
- main: production; default branch.
- integration: development. Equivalent to develop.
- 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: not longlived. Optionally maintain a lightweight release branch fastforwarded to the latest tag via CI.
- 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 fastforward to latest tag via CI.
Merges & Approvals
- Feature → integration: squash merge; bot automerge on green (no human approval). Selfmerge allowed.
- Feature → integration: squash merge; automerge on green (no human approval). Selfmerge allowed.
- integration → main: squash merge; require 1 approval; selfmerge not allowed.
- Force pushes disabled on protected branches; PRs required.
- Force pushes disabled on protected branches (`main`, `release/*`); PRs required.
Commit Style
- Conventional Commits for PR titles and commit messages.
@@ -27,11 +27,10 @@ Release Flow
3) Optional: CI fastforwards a release branch pointer to the new tag.
Protected Checks (to enable when runners are ready)
- ci / lint, ci / build, ci / commitlint. Add ci / test and ci / security if/when introduced.
- 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.