Skip to content

ci: add nightly latest-deps workflow#141

Merged
clintongormley merged 1 commit into
Sese-Schneider:mainfrom
clintongormley:ci/nightly-latest-deps
Jun 29, 2026
Merged

ci: add nightly latest-deps workflow#141
clintongormley merged 1 commit into
Sese-Schneider:mainfrom
clintongormley:ci/nightly-latest-deps

Conversation

@clintongormley

Copy link
Copy Markdown
Collaborator

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 and pytest-homeassistant-custom-component completely 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.

  • Schedule: daily at 04:29 UTC, plus workflow_dispatch.
  • New file only (.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.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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-component without 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.

Comment thread .github/workflows/nightly.yml Outdated
Comment on lines +32 to +34
# 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"

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread .github/workflows/nightly.yml Outdated
Comment on lines +39 to +40
# No version pins: pip resolves the newest HA and the newest test
# harness, so the nightly always runs against the latest upstream.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread .github/workflows/nightly.yml Outdated
Comment on lines +48 to +51
validate:
name: hassfest + HACS (latest tooling)
runs-on: ubuntu-latest
steps:

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@clintongormley clintongormley force-pushed the ci/nightly-latest-deps branch from 76bb6b5 to d6c4113 Compare June 29, 2026 18:13
@clintongormley clintongormley merged commit 3ce556e into Sese-Schneider:main Jun 29, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants