Обновить 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 # Development and CI
## Local development ## Локальная разработка
Install development dependencies: Установка зависимостей для разработки:
```bash ```bash
uv sync --group dev uv sync --group dev
``` ```
Useful commands: Полезные команды:
```bash ```bash
make format make format
@@ -20,53 +20,53 @@ make build
make package-version make package-version
``` ```
## Tooling ## Инструменты
- Ruff for linting and formatting - Ruff для lint и format
- mypy in strict mode - mypy в strict-режиме
- pytest for tests - pytest для тестов
- deptry for dependency checks - deptry для dependency checks
- local `stubs` directory for untyped third-party packages - локальный каталог `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/cli.py`: CLI
- `src/yt_shorts_downloader/models`: typed models - `src/yt_shorts_downloader/models`: типизированные модели
- `src/yt_shorts_downloader/services`: session validation - `src/yt_shorts_downloader/services`: валидация session file
- `src/yt_shorts_downloader/core`: yt-dlp integration, runtime detection, URL validation - `src/yt_shorts_downloader/core`: yt-dlp integration, runtime detection, URL validation
- `stubs`: local typing stubs - `stubs`: локальные typing stubs
## CI workflow ## CI workflow
The main Gitea Actions workflow runs: Основной Gitea Actions workflow запускает:
- Ruff - Ruff
- mypy - mypy
- deptry - deptry
- pytest - 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 - если текущей версии нет в Gitea Packages, она публикуется
- if the current version already exists, upload is skipped - если текущая версия уже существует, upload пропускается
- old published versions remain available in the registry - старые версии остаются доступными в registry
Required CI secrets: Необходимые CI secrets:
- `PYPI_REPOSITORY_URL` - `PYPI_REPOSITORY_URL`
- `PACKAGE_USERNAME` - `PACKAGE_USERNAME`
- `PACKAGE_TOKEN` - `PACKAGE_TOKEN`
Local publish example: Локальный пример публикации:
```bash ```bash
export PYPI_REPOSITORY_URL='https://gitea.example.com/api/packages/<owner>/pypi' export PYPI_REPOSITORY_URL='https://gitea.example.com/api/packages/<owner>/pypi'