Check the signed-in markup from a scheduled workflow
Validate / hassfest (push) Skipped
Validate / HACS (push) Skipped
Upstream compatibility / compat (push) Successful in 8s
Validate / pytest (push) Successful in 11s

Move the authenticated drift check into the repository as
tools/compat_auth.py, run daily by .github/workflows/compat-auth.yml on the
maintainer's forge only. Credentials come from FH_EMAIL and FH_PASSWORD, the
output is pass/fail labels only because the run log is public, and a failed
run pushes the report to ntfy. Exit 5 means all hold, 10 drift, anything
else that it could not run.

Point compat.yml, tools/compat.py and the docs at it, add a README section,
and cut 0.5.1.
This commit is contained in:
flan
2026-09-21 19:01:13 +00:00
parent bf01fd6eb0
commit 22e6499a8e
9 changed files with 733 additions and 12 deletions
+17
View File
@@ -137,6 +137,23 @@ pip install beautifulsoup4 pytest yarl
pytest tests/
```
## Scheduled sign-in check
Every break so far has been behind the login, and every one was silent: a
sensor reading a plausible `0` rather than going unavailable. So once a day
[tools/compat_auth.py](tools/compat_auth.py) signs in to a real account,
read-only, and checks the markup the sensors and controls are parsed from:
the dashboard, subscriptions, vacation holds, and the popups behind skip,
donate and add. When something has moved, the run fails and the maintainer
gets a push naming the broken assumption and what it would break.
It runs only on the maintainer's own forge, where the account credentials
are, and is skipped on the GitHub mirror and on forks. Its log is public, so
it prints a pass or fail per assumption and nothing about the account. To run
it yourself, set the four secrets listed at the top of
[.github/workflows/compat-auth.yml](.github/workflows/compat-auth.yml) and
change the job's `if:`.
## Disclaimer
Unofficial and unaffiliated — not endorsed by or supported by Fresh Harvest.