Merge branch 'main' of ssh://192.168.0.54:30009/niken/myfirstprogram
This commit is contained in:
@@ -51,53 +51,3 @@ python main.py
|
|||||||
|
|
||||||
(Более полный список изменений — в `CHANGELOG.md`.)
|
(Более полный список изменений — в `CHANGELOG.md`.)
|
||||||
|
|
||||||
## Чек-лист готовности к релизу (private GitHub)
|
|
||||||
Ниже — рекомендации и текущий статус (на основе быстрого статического анализа):
|
|
||||||
|
|
||||||
- [ ] Тесты (unit/integration) — отсутствуют. Рекомендую добавить хотя бы базовые тесты для критичных сервисов (например мок ScheduleService и проверка логики хеширования).
|
|
||||||
- [x] README (есть) — ✅
|
|
||||||
- [x] CHANGELOG (есть) — ✅
|
|
||||||
- [ ] Линт/статический анализ — есть предупреждения/ошибки (см. ниже). Нужно исправить перед релизом.
|
|
||||||
- [ ] Безопасность/секреты — убедитесь, что `TELEGRAM_BOT_TOKEN` и другие ключи не коммитятся; добавьте `.env.example` и `.gitignore`.
|
|
||||||
- [ ] CI — рекомендую GitHub Actions: lint (ruff), тесты (pytest), security scan.
|
|
||||||
- [ ] Версионирование — добавьте `__version__` в `pyproject`/`setup.py` или тег релиза в Git.
|
|
||||||
|
|
||||||
### Проблемы, найденные статически
|
|
||||||
- `addons/send_message/handlers.py`: используется `aiohttp` без импорта (нужно `import aiohttp`). Это вызовет ошибку при импорте этого аддона.
|
|
||||||
- Возможны другие runtime-ошибки — рекомендую прогнать `ruff check . --fix` и запустить бота в dev окружении.
|
|
||||||
|
|
||||||
## Рекомендации перед релизом
|
|
||||||
1. Исправить импорт/синтаксисные ошибки (см. `ruff` / `get_errors`).
|
|
||||||
2. Добавить `.env.example` и `.gitignore` (включить `.venv/`, `storage/` с чувствительными файлами и логами).
|
|
||||||
3. Добавить базовые тесты и настроить GitHub Actions (lint + tests).
|
|
||||||
4. Решить поведение state-персистенции: `BotState` хранит состояние в памяти — после рестарта всё теряется. Если важно сохранять историю/фиксированный pinned_id — добавить simple JSON/SQLite storage.
|
|
||||||
5. Проверить, что все аддоны регистрируют хендлеры корректно (в `x_days_to` ранее не было регистрации а-ля `@dp.message(...)` — возможно требуется доработить).
|
|
||||||
|
|
||||||
## Как выпустить на приватный GitHub
|
|
||||||
1. Создайте репозиторий и инициализируйте git:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git init
|
|
||||||
git add .
|
|
||||||
git commit -m "Initial commit"
|
|
||||||
# создайте приватный репо в GitHub и затем
|
|
||||||
git remote add origin git@github.com:yourorg/yourrepo.git
|
|
||||||
git branch -M main
|
|
||||||
git push -u origin main
|
|
||||||
```
|
|
||||||
|
|
||||||
2. Настройте GitHub Actions (workflow) для lint & tests.
|
|
||||||
3. Добавьте релизный тег и changelog entry:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
git tag -a v0.1.0 -m "Initial private release"
|
|
||||||
git push origin v0.1.0
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
Если хотите, я могу сразу:
|
|
||||||
- добавить `.env.example` и `.gitignore`;
|
|
||||||
- исправить `addons/send_message/handlers.py` (добавить импорт `aiohttp`) и/или добавить базовый тест для `watcher_service`.
|
|
||||||
|
|
||||||
Скажите, что выполнить следующим шагом — добавлять `.env.example`/`.gitignore`, исправлять найденную ошибку или настроить CI (создать пример workflow).
|
|
||||||
Reference in New Issue
Block a user