Обновить Development and CI wiki на русский

2026-05-27 14:57:04 +00:00
parent 399027bc06
commit 7b472b7db9
+25 -25
@@ -1,14 +1,14 @@
# Development and CI
## Local development
## Локальная разработка
Install development dependencies:
Установка зависимостей для разработки:
```bash
uv sync --group dev
```
Useful commands:
Полезные команды:
```bash
make format
@@ -20,53 +20,53 @@ make build
make package-version
```
## Tooling
## Инструменты
- Ruff for linting and formatting
- mypy in strict mode
- pytest for tests
- deptry for dependency checks
- local `stubs` directory for untyped third-party packages
- Ruff для lint и format
- mypy в strict-режиме
- pytest для тестов
- deptry для dependency checks
- локальный каталог `stubs` для нетипизированных внешних пакетов
## Architecture
## Архитектура
Project layout:
Структура проекта:
- `src/yt_shorts_downloader/api.py`: public API
- `src/yt_shorts_downloader/api.py`: публичный API
- `src/yt_shorts_downloader/cli.py`: CLI
- `src/yt_shorts_downloader/models`: typed models
- `src/yt_shorts_downloader/services`: session validation
- `src/yt_shorts_downloader/models`: типизированные модели
- `src/yt_shorts_downloader/services`: валидация session file
- `src/yt_shorts_downloader/core`: yt-dlp integration, runtime detection, URL validation
- `stubs`: local typing stubs
- `stubs`: локальные typing stubs
## CI workflow
The main Gitea Actions workflow runs:
Основной Gitea Actions workflow запускает:
- Ruff
- mypy
- deptry
- pytest
After successful CI on a push to `main`, the workflow attempts publication to Gitea Packages.
После успешного CI на push в `main` workflow пытается опубликовать пакет в Gitea Packages.
## Package publishing
## Публикация пакета
The package version is read from `[project].version` in `pyproject.toml`.
Версия пакета читается из `[project].version` в `pyproject.toml`.
Publishing rules:
Правила публикации:
- if the current version does not exist in Gitea Packages, it is uploaded
- if the current version already exists, upload is skipped
- old published versions remain available in the registry
- если текущей версии нет в Gitea Packages, она публикуется
- если текущая версия уже существует, upload пропускается
- старые версии остаются доступными в registry
Required CI secrets:
Необходимые CI secrets:
- `PYPI_REPOSITORY_URL`
- `PACKAGE_USERNAME`
- `PACKAGE_TOKEN`
Local publish example:
Локальный пример публикации:
```bash
export PYPI_REPOSITORY_URL='https://gitea.example.com/api/packages/<owner>/pypi'