ha(ci): fix smoke-теста wheel и токены Gitea
- smoke-тест запускается из /tmp с python -P: раньше из корня репозитория python подхватывал исходники pyfglair/ (без .so) вместо wheel - permissions: contents: read, packages: write — встроенный GITEA_TOKEN; PAT (scope write:package) в секрете PYPI_TOKEN остаётся fallback для старых Gitea; имена секретов без зарезервированного префикса GITEA_ - RELEASE_HA: оба варианта авторизации и пояснение про smoke-тест
This commit is contained in:
+24
-15
@@ -12,23 +12,32 @@
|
||||
|
||||
### 1.1. Сборка и публикация wheel (Gitea Actions, ручной запуск)
|
||||
|
||||
Workflow: `.gitea/workflows/publish-pyfglair.yaml`.
|
||||
Workflow: `.gitea/workflows/publish-pyfglair.yaml` (workflow объявляет
|
||||
`permissions: contents: read, packages: write`).
|
||||
|
||||
1. Создайте personal access token Gitea со scope `write:package`
|
||||
(Settings → Applications → Generate token).
|
||||
2. Settings репозитория → Actions → Secrets:
|
||||
* `GITEA_PYPI_TOKEN` — этот токен (обязательно);
|
||||
* `GITEA_PYPI_USER` — имя пользователя Gitea (опционально; иначе актор
|
||||
запуска).
|
||||
3. Actions → **Publish pyfglair** → Run workflow (вход `bundled_mbedtls`:
|
||||
`1` — встроить mbedtls, `0` — системный `libmbedtls-dev`).
|
||||
4. Артефакт появится в: `https://git.ratigorsk-12.ru/api/packages/<owner>/pypi/simple/pyfglair/`
|
||||
(`<owner>` — владелец репозитория, напр. `esphome`).
|
||||
Авторизация — любой из вариантов:
|
||||
|
||||
Workflow собирает `wheel` + `sdist`, прогоняет smoke-тест установки и
|
||||
публикует через `twine upload --skip-existing`. Повторная публикация той же
|
||||
версии пропускается; для новой версии поднимите `version` в
|
||||
`pyproject.toml`.
|
||||
* **Встроенный job-токен** (Gitea ≥ 1.27, где `packages` поддержан у
|
||||
features): ничего настраивать не нужно, workflow возьмёт
|
||||
`${{ secrets.GITEA_TOKEN }}`;
|
||||
* **Personal access token** со scope `write:package` (для версий, где
|
||||
публикация пакетов job-токеном ещё не реализована — см. HACS-док Gitea
|
||||
«Package repository authorization»): положите его в секрет
|
||||
`PYPI_TOKEN`, при необходимости задайте `PYPI_USER` (имя пользователя к
|
||||
PAT; иначе — актор запуска). **Имена секретов не могут начинаться с
|
||||
`GITEA_`** — префикс зарезервирован Gitea.
|
||||
|
||||
Запуск: Actions → **Publish pyfglair** → Run workflow (вход
|
||||
`bundled_mbedtls`: `1` — встроить mbedtls, `0` — системный
|
||||
`libmbedtls-dev`). Артефакт появится в
|
||||
`https://git.ratigorsk-12.ru/api/packages/<owner>/pypi/simple/pyfglair/`
|
||||
(`<owner>` — владелец репозитория, напр. `esphome`).
|
||||
|
||||
Workflow собирает `wheel` + `sdist`, прогоняет smoke-тест установки
|
||||
(запускается из `/tmp` с `python -P`, чтобы не подхватить исходники
|
||||
`pyfglair/` вместо wheel) и публикует через `twine upload --skip-existing`.
|
||||
Повторная публикация той же версии пропускается; для новой версии поднимите
|
||||
`version` в `pyproject.toml`.
|
||||
|
||||
### 1.2. Установка pyfglair в Home Assistant
|
||||
|
||||
|
||||
Reference in New Issue
Block a user