ha(ci): Gitea Actions — сборка и публикация pyfglair в PyPI-реестр пакетов Gitea

- .gitea/workflows/publish-pyfglair.yaml: ручной workflow_dispatch —
  toolchain, python -m build (wheel+sdist), smoke-тест wheel, twine upload
  в /api/packages/<owner>/pypi (PAT в секрете GITEA_PYPI_TOKEN; встроенный
  GITEA_TOKEN пакеты публиковать не умеет); вход bundled_mbedtls
- setup.py: FGL_BUNDLED_MBEDTLS=0 уважается при сборке wheel (системный
  mbedtls), по умолчанию — встроенный (проверено readelf для обоих)
- RELEASE_HA переписан: §1 внутренняя установка (Gitea Packages + команда
  pip install для HA), §2 PyPI (публично), §3 GitHub/HACS (Custom
  Repositories только на GitHub), §4-5 без изменений
- README компонента: внутренняя установка pyfglair из Gitea Packages
This commit is contained in:
2026-09-29 15:44:56 +03:00
parent 34cdb7fef8
commit a32e2f0bfc
4 changed files with 194 additions and 74 deletions
+3 -1
View File
@@ -1,6 +1,7 @@
"""Сборка wheel pyfglair: вместе с python-пакетом собирается libfgl-aircon.so
из корня монорепо (cmake). Метаданные — в pyproject.toml; здесь только хуки
setuptools для сборки нативного ядра."""
import os
from importlib.util import module_from_spec, spec_from_file_location
from pathlib import Path
@@ -32,7 +33,8 @@ class build_py(_build_py):
dest.mkdir(parents=True, exist_ok=True)
for stale in dest.glob("libfgl-aircon.*"):
stale.unlink()
_load_corebuild().build_core(dest=dest, bundled_mbedtls=True)
bundled = os.environ.get("FGL_BUNDLED_MBEDTLS", "1") != "0"
_load_corebuild().build_core(dest=dest, bundled_mbedtls=bundled)
super().run()