Files
Denozordec ed4d6f8a46
quality / commitlint (push) Skipped
CD / update-wiki (push) Failing after 8s
quality / changes (push) Successful in 7s
quality / docker-check (push) Skipped
quality / web (push) Successful in 1m8s
quality / api (push) Successful in 41s
CD / quality (push) Successful in 2m0s
CD / publish (push) Failing after 11m24s
chore: update Docker configuration and CI/CD setup
- Removed Dockerfile and Dockerfile.test as part of the transition to a pre-built image.
- Updated .dockerignore and .gitignore to reflect new build context and ignored files.
- Modified docker-compose.yml to use the new image for the application.
- Enhanced documentation in AGENTS.md and README.md to include CI/CD details and release process.
- Added new dependencies for commit linting and semantic release in package.json and pnpm-lock.yaml.

This commit streamlines the Docker setup and improves the CI/CD workflow with Gitea Actions.
2026-08-19 00:42:38 +07:00

58 lines
1.6 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 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](https://semantic-release.gitbook.io/) на push в `main`
- Не править версию вручную; тег `vX.Y.Z` ставит CI
- Подробнее: [`docs/releasing.md`](docs/releasing.md)
## Branch protection (Gitea)
Configure for **main** and **develop**:
- Require pull request reviews
- Require status checks (`CI` / quality jobs `web`, `api`)
- 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
Релизы делает workflow **CD** на push в `main` (semantic-release + bake). Не создавать ветки `release/*` и не bump'ать файлы версии вручную. См. [`docs/releasing.md`](docs/releasing.md).