Build, Test, and Push CFDM Docker Image / test (push) Has been cancelled
Build, Test, and Push CFDM Docker Image / build-and-push (push) Has been cancelled
Build, Test, and Push CFDM Docker Image / create-release (push) Has been cancelled
Build, Test, and Push CFDM Docker Image / update-wiki (push) Has been cancelled
61 lines
1.4 KiB
Markdown
61 lines
1.4 KiB
Markdown
# Contributing
|
|
|
|
## Gitflow
|
|
|
|
- **main** — production; merges only from `release/*` and `hotfix/*`
|
|
- **develop** — integration branch (default for development)
|
|
- **feature/\*** — `feature/[issue-id]-description` from `develop`
|
|
- **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 `develop` for features; `main` for release/hotfix
|
|
- CI `test` job must pass
|
|
- At least one approval
|
|
- Rebase/merge when up to date with target branch
|
|
- Delete branch after merge
|
|
|
|
## Versioning
|
|
|
|
- SemVer in [`VERSION`](VERSION)
|
|
- Bump version in `release/*` or `hotfix/*` branches
|
|
- Tag `vX.Y.Z` on `main` after release merge
|
|
|
|
## Branch protection (Gitea)
|
|
|
|
Configure for **main** and **develop**:
|
|
|
|
- Require pull request reviews
|
|
- Require status checks (`test`)
|
|
- Require branches to be up to date
|
|
- No force push, no deletion
|
|
|
|
## Local development
|
|
|
|
```bash
|
|
cp .env.example .env
|
|
pnpm install
|
|
pnpm --filter @cfdm/shared build
|
|
pnpm --filter @cfdm/db build
|
|
|
|
# API (:8080)
|
|
pnpm --filter @cfdm/api dev
|
|
|
|
# Frontend (:5173, proxies /api → :8080)
|
|
pnpm --filter web dev
|
|
```
|
|
|
|
## Release process
|
|
|
|
1. `git checkout -b release/v0.2.0 develop`
|
|
2. Bump `VERSION`, fix release issues
|
|
3. PR to `main` → merge → tag `v0.2.0`
|
|
4. Merge release branch back to `develop`
|