mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-29 03:09:36 +00:00
ci: единый staged→tested→published путь установочных ассетов (#540)
`release-zip.yml` выкладывал `houseplan.zip` в ту же секунду, когда релиз становился публичным — до Validate, Full Performance и E2E; `release.yml` параллельно пересобирал `houseplan-card.js`, а E2E требовал публичного ZIP, чтобы вообще начаться. Публикаторов было четыре, порядок — ни одного. Теперь публикатор стабильных один — `release.yml`: закрепить SHA → релиз в черновике (опубликованный руками немедленно возвращается в черновик) → гейты на SHA (трейлер `Release: <tag>`, контракт `--stable`, Validate, Full Performance, E2E на коммите-кандидате через tarball codeload) → одна сборка, `git archive` ZIP из того же дерева, `SHA256SUMS` → загрузка в черновик → публикация → скачать публичное и сверить с паспортом → анонс. Dispatch на публичный тег — ремонт: догружается только недостающее, расходящийся хеш — отказ. Беты кладут тот же паспорт; локальный публикатор больше не ждёт републикаторов — их нет. - `.github/workflows/release-zip.yml` удалён - `scripts/release-assets.mjs` — паспорт ассетов (`sums`/`check`), чистые функции под юнитами - `scripts/e2e-gate.mjs --ref=<sha>` — под тестом кандидат, `--tag` только для выбора `upgrade_from` - `scripts/release-contract.mjs --stable` - мутанты: независимый публикатор, снятая зависимость от гейта, релиз без возврата в черновик, `--clobber` в ремонте, E2E на теге, слепой паспорт Issue: #540 User-Visible: no
This commit is contained in:
+8
-5
@@ -68,11 +68,14 @@ dispatch-прогон на точном SHA; зелёный push-прогон и
|
||||
## E2E на реальном Home Assistant (#514)
|
||||
|
||||
Репозиторий `Matysh/houseplan-e2e`: настоящий HA в docker, House Plan из
|
||||
`houseplan.zip` релиза, 13 сценариев Playwright (боковая панель, дашборды,
|
||||
роли, телефон, PDF, рестарт HA, первый запуск, обновление). Ночью — по
|
||||
расписанию на последней бете; для **стабильного** релиза `release.yml`
|
||||
запускает его на теге и ждёт зелёного (`scripts/e2e-gate.mjs`): красный —
|
||||
ассеты не публикуются. В цикле разработки и на бетах не участвует.
|
||||
релиза или из дерева коммита, 13 сценариев Playwright (боковая панель,
|
||||
дашборды, роли, телефон, PDF, рестарт HA, первый запуск, обновление). Ночью —
|
||||
по расписанию на последней бете; для **стабильного** релиза `release.yml`
|
||||
запускает его на **SHA кандидата** (`scripts/e2e-gate.mjs --ref=<sha>`, #540:
|
||||
ставится `custom_components/houseplan` из tarball коммита — то же дерево, из
|
||||
которого `git archive` строит `houseplan.zip`) и ждёт зелёного: красный —
|
||||
релиз остаётся черновиком, ассеты не публикуются. В цикле разработки и на
|
||||
бетах не участвует.
|
||||
|
||||
## Версия в кадрах и попиксельная приёмка (#512)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user