Release: alert hygiene batch + UPS shutdown chain (dry-run) + restore runbook #3

Merged
reachableceo merged 11 commits from dev into release 2026-09-06 12:21:42 +00:00
Showing only changes of commit 55ff572463 - Show all commits
+10 -5
View File
@@ -30,16 +30,21 @@ jobs:
# Real load validation: boots Home Assistant against the repo config and
# proves HA can parse + set up every integration (yamllint only proves the
# YAML parses; this catches unknown keys, bad Jinja, schema drift).
# Pinned to the HA version the box runs. HA 2026.8 requires python
# >=3.14.2 (pip refuses older), and the base must be glibc debian — the
# runner mounts a glibc node for checkout, alpine cannot exec it.
# Stub secrets are CI-only fixtures — never present on the live box.
# Pinned to the HA version the box runs (needs python >=3.14).
# actions/checkout is NOT used: it needs node in the job container, and
# python images have none (lint works because node:20 ships node).
# Clone with the job's auto token instead. Stub secrets are CI-only
# fixtures — never present on the live box.
config-check:
runs-on: ultix
container:
image: python:3.14-bookworm
steps:
- uses: actions/checkout@v4
- name: clone
run: |
test -n "$GITHUB_TOKEN" || { echo "GITHUB_TOKEN missing"; exit 1; }
git clone --depth 1 "https://x-access-token:${GITHUB_TOKEN}@git.knownelement.com/${GITHUB_REPOSITORY}.git" .
git log -1 --oneline
- name: install homeassistant 2026.8.3
run: pip install --quiet homeassistant==2026.8.3
- name: homeassistant check_config