Skip to content

Commit 3ce556e

Browse files
ci: add nightly latest-deps workflow (#141)
1 parent 46a9d9b commit 3ce556e

1 file changed

Lines changed: 52 additions & 0 deletions

File tree

.github/workflows/nightly.yml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: Nightly (latest deps)
2+
3+
# Exercises the integration against the newest upstream dependencies every day,
4+
# separately from PR CI (.github/workflows/tests.yml), which pins specific HA
5+
# channels. This is the early-warning system for HA-side drift: it installs HA
6+
# and the test harness unpinned and runs the suite. Note the harness
7+
# (pytest-homeassistant-custom-component) pins the newest HA it supports, so this
8+
# tracks the latest harness-compatible HA rather than the absolute newest HA --
9+
# a regression there still surfaces here before it reaches a pinned PR-CI release.
10+
#
11+
# hassfest + HACS already validate daily in hassfest.yml and hacs.yml (same
12+
# @master/@main actions on a cron), so this workflow only adds the
13+
# pytest-against-latest leg they don't cover.
14+
15+
on:
16+
schedule:
17+
- cron: "29 4 * * *"
18+
workflow_dispatch:
19+
20+
concurrency:
21+
group: nightly-${{ github.ref }}
22+
cancel-in-progress: true
23+
24+
permissions:
25+
contents: read
26+
27+
jobs:
28+
test-latest:
29+
name: pytest (latest HA + harness)
30+
runs-on: ubuntu-latest
31+
steps:
32+
- uses: actions/checkout@v5
33+
34+
- name: Set up Python
35+
uses: actions/setup-python@v6
36+
with:
37+
# The newest HA requires Python 3.14 (see tests.yml stable leg), and
38+
# the harness pins the newest HA it supports, so the nightly tracks 3.14.
39+
python-version: "3.14"
40+
41+
- name: Install latest Home Assistant + test harness (unpinned)
42+
run: |
43+
python -m pip install --upgrade pip
44+
# No version pins: pip resolves the newest mutually-compatible set, so
45+
# the harness (which pins HA) holds HA to the newest version it
46+
# supports -- the nightly tracks that pair, not the absolute newest HA.
47+
python -m pip install --upgrade \
48+
homeassistant \
49+
pytest-homeassistant-custom-component
50+
51+
- name: Run tests
52+
run: pytest tests/ -v

0 commit comments

Comments
 (0)