kwork-api/docs/RELEASE.md
root 0975b68334 feat: complete Kwork API client with 45+ endpoints
Initial release:
- Complete async API client (45+ endpoints)
- Pydantic models for all responses
- Two-step authentication
- Comprehensive error handling
- 92% test coverage
- Gitea Actions CI/CD
- Semantic release configured
2026-03-29 00:42:54 +00:00

132 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Release Guide — kwork-api
## 📋 Стратегия версионирования
Используем **SemVer** (Semantic Versioning): `MAJOR.MINOR.PATCH`
- **MAJOR** — ломающие изменения API
- **MINOR** — новая функциональность (обратно совместимая)
- **PATCH** — багфиксы (обратно совместимые)
---
## 🚀 Процесс релиза
### 1. Подготовка
```bash
# Убедись что все тесты проходят
uv run pytest
# Проверь линтеры
uv run ruff check src/ tests/
# Проверь сборку
uv build
```
### 2. Обновление версии
```bash
# Обновить версию в pyproject.toml
# Например: 0.1.0 → 0.1.1
# Создать тег
git tag -a v0.1.1 -m "Release v0.1.1"
# Отпушить тег
git push origin v0.1.1
```
### 3. Автоматическая публикация
После пуша тега:
1. ✅ Запускается CI/CD pipeline
2. ✅ Прогоняются тесты
3. ✅ Собирается пакет
4. ✅ Публикуется в Gitea Registry
---
## 📦 Gitea Package Registry
**URL:** `https://git.much-data.ru/api/packages/claw/pypi`
**Установка:**
```bash
# Создать .pypirc в домашней директории
cat > ~/.pypirc << EOF
[pypi]
username = claw
password = YOUR_GITEA_TOKEN
[git.much-data.ru]
repository = https://git.much-data.ru/api/packages/claw/pypi
username = claw
password = YOUR_GITEA_TOKEN
EOF
# Установить из Gitea
uv pip install kwork-api --index-url https://git.much-data.ru/api/packages/claw/pypi
```
---
## 🔑 Получение Gitea Token
1. Зайди в https://git.much-data.ru
2. Профиль → Settings → Applications
3. Создать токен с правами `write:package`
4. Сохрани токен в секреты репозитория: `GITEA_TOKEN`
---
## 📊 Changelog
Ведётся в `CHANGELOG.md` по формату [Keep a Changelog](https://keepachangelog.com/).
### Пример:
```markdown
## [0.1.1] - 2026-03-23
### Fixed
- Исправлена ошибка аутентификации при истечении токена
### Changed
- Обновлены зависимости
## [0.1.0] - 2026-03-23
### Added
- Первый релиз
- Базовая функциональность клиента
- Документация 100%
```
---
## ✅ Чеклист перед релизом
- [ ] Все тесты проходят
- [ ] Линтеры без ошибок
- [ ] Документация обновлена
- [ ] CHANGELOG.md обновлён
- [ ] Версия в pyproject.toml обновлена
- [ ] Тег создан и отправлен
- [ ] CI/CD pipeline успешен
- [ ] Пакет опубликован
---
## 🔧 Ручная публикация (если нужно)
```bash
# Собрать
uv build
# Опубликовать
uv publish \
--publish-url https://git.much-data.ru/api/packages/claw/pypi \
--token YOUR_GITEA_TOKEN
```