ha(HACS): комплект файлов для Custom Repositories
- info.md (страница HACS), LICENSE (MIT), codeowners @petr.polezhaev - brand: icon/icon@2x/logo + dark-варианты (сгенерированные плейсхолдеры с силуэтом кондиционера) - .github/workflows/validate-hacs.yaml и hassfest.yaml (включатся на GitHub) - pyproject: license=MIT, license-files; MANIFEST: LICENSE в sdist - README/RELEASE_HA: HACS работает только с публичным GitHub-зеркалом (Custom Repositories), точные команды mirror и настройки GitHub
This commit is contained in:
+29
-10
@@ -39,25 +39,44 @@ twine upload dist/manylinux/* dist/*.tar.gz
|
||||
repair` внутри, но текущий `bdist_wheel`-хук отдаёт тег
|
||||
`py3-none-<plat>`, поэтому проверяйте итоговые теги вручную.
|
||||
|
||||
## 2. GitHub-зеркало и HACS
|
||||
## 2. GitHub-зеркало и Custom Repositories
|
||||
|
||||
HACS устанавливает интеграции только с публичных **GitHub**-репозиториев
|
||||
(GitLab/Gitea не поддерживаются). Шаги:
|
||||
(GitLab/Gitea не поддерживаются: https://hacs.xyz/docs/faq/other_git_providers/).
|
||||
Публикация в default-репозиторий HACS не требуется — достаточно Custom
|
||||
Repositories, но хостинг обязан быть GitHub.
|
||||
|
||||
* создать GitHub-зеркало (push mirror) и убедиться, что оно содержит
|
||||
`custom_components/fglair/`, `hacs.json`, тег релиза;
|
||||
* заполнить `codeowners` в `custom_components/fglair/manifest.json`
|
||||
(GitHub-хендлы; сейчас пустой список);
|
||||
```sh
|
||||
# один раз: зеркало и перенос веток/тегов
|
||||
git remote add github git@github.com:<owner>/fgl-aircon.git
|
||||
git push --mirror github
|
||||
```
|
||||
|
||||
После зеркала:
|
||||
|
||||
* заполнить в настройках GitHub: Description, Topics
|
||||
(`home-assistant`, `hacs`, `fujitsu`, `air-conditioner`), включить Issues
|
||||
(эти пункты проверяет HACS Action; файлами они не настраиваются);
|
||||
* проверить `codeowners` в `custom_components/fglair/manifest.json` —
|
||||
сейчас `@petr.polezhaev`; для GitHub Action/HACS это должен быть реальный
|
||||
GitHub-логин;
|
||||
* проверить `documentation`/`issue_tracker` в манифесте;
|
||||
* обновить `version` манифеста под номер тега (сейчас `0.1.0`, pyfglair —
|
||||
`1.0.0`; синхронизируйте по вкусу — компонент и пакет версионируются
|
||||
отдельно);
|
||||
`1.0.0`; компонент и пакет версионируются отдельно);
|
||||
* заменить заглушки `custom_components/fglair/screenshots/step-N.png`
|
||||
реальными скриншотами (описания «что должно быть видно» — в README);
|
||||
* заменить заглушки `custom_components/fglair/brand/{icon,logo}.png`
|
||||
фирменными ассетами;
|
||||
* заменить заглушки `custom_components/fglair/brand/*.png` фирменными
|
||||
ассетами (сейчас — сгенерированные плейсхолдеры: icon/icon@2x/logo и
|
||||
тёмные варианты);
|
||||
* создать git-тег (semver) в GitHub-зеркале — HACS покажет версию.
|
||||
|
||||
Файлы, которые HACS/hassfest проверяют у интеграции: `hacs.json`,
|
||||
`custom_components/fglair/manifest.json` (domain/documentation/
|
||||
issue_tracker/codeowners/name/version), `custom_components/fglair/brand/icon.png`,
|
||||
README/info.md, OSI-лицензия (`LICENSE`, MIT). Всё это в репозитории есть;
|
||||
workflow `.github/workflows/{validate-hacs,hassfest}.yaml` включатся на
|
||||
GitHub.
|
||||
|
||||
## 3. Приёмка на живом стенде
|
||||
|
||||
* `tests/acceptance/test_esphome_ha.py quick` — матрица изменений (HA;
|
||||
|
||||
Reference in New Issue
Block a user