ci: add nightly latest-deps workflow#141
Conversation
There was a problem hiding this comment.
Pull request overview
Adds a new scheduled GitHub Actions workflow to run nightly checks against the latest upstream Home Assistant ecosystem, intended to detect upstream breakage earlier than the pinned PR CI matrix.
Changes:
- Introduces a daily scheduled + manually triggerable workflow (
Nightly (latest deps)). - Runs pytest after installing Home Assistant and
pytest-homeassistant-custom-componentwithout explicit version pins. - Runs hassfest and HACS validation using their latest action branches.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| # Latest HA requires Python 3.14 (see tests.yml stable leg), and an | ||
| # unpinned harness resolves the latest HA, so the nightly tracks 3.14. | ||
| python-version: "3.14" |
There was a problem hiding this comment.
Reworded — the comment no longer claims the harness 'resolves the latest HA'; it now says the harness pins the newest HA it supports (which needs 3.14), so the nightly tracks that.
| # No version pins: pip resolves the newest HA and the newest test | ||
| # harness, so the nightly always runs against the latest upstream. |
There was a problem hiding this comment.
Reworded — now notes pip resolves the newest mutually-compatible set, so the harness (which pins HA) holds HA to the newest version it supports; the nightly tracks that pair, not the absolute newest HA. The file header calls this out too.
| validate: | ||
| name: hassfest + HACS (latest tooling) | ||
| runs-on: ubuntu-latest | ||
| steps: |
There was a problem hiding this comment.
Verified and removed. hassfest.yml and hacs.yml both run the same @master/@main actions on a daily cron, so the validate job here was fully redundant. The workflow now only adds the pytest-against-latest leg those don't cover; the header documents the split.
76bb6b5 to
d6c4113
Compare
Adds a
Nightly (latest deps)workflow as an early-warning system for Home Assistant-side drift.PR CI (
tests.yml) pins specific HA channels; this nightly job installs HA andpytest-homeassistant-custom-componentcompletely unpinned (Python 3.14, matching the stable leg) and runs hassfest + HACS with their latest tooling. A failure here means a future HA release will break us even while pinned PR CI stays green.workflow_dispatch..github/workflows/nightly.yml); no existing workflow touched.Recovered from a stale local branch; the companion "bump GitHub Actions off deprecated Node 20" change is already in main, so this PR is the workflow addition alone.