Skip to content

ci: nightly compatibility matrix (aiohttp latest vs locked) - #57

Merged
mrebbert merged 1 commit into
mainfrom
ci/nightly-matrix
Oct 16, 2026
Merged

mrebbert merged 1 commit into
mainfrom
ci/nightly-matrix

Conversation

@mrebbert

Copy link
Copy Markdown
Owner

Summary

Vierte Welle der HA-Adoptions: Nightly-Compatibility-Matrix für die kritische `aiohttp`/`aioresponses`-Grenzfläche.

Was läuft

Täglich um 05:17 UTC:

Python aiohttp Was passiert
3.13 locked `uv sync --frozen --all-extras` — Normalbild
3.13 latest `uv sync --all-extras` + `uv pip install --upgrade aiohttp` — pip-Resolution von heute
3.14 locked wie oben
3.14 latest wie oben

Jede Zelle läuft `uv run pytest -ra` auf dem vollen Test-Suite (inkl. Snapshots, Property-Tests, Failure-Paths).

Nach dem matrix-Job: Falls mindestens eine Zelle versagt und der Run per `schedule` ausgelöst wurde, erzeugt der `report-failure`-Job entweder ein neues `nightly-failure`-Issue oder appendet an das bestehende offene. So landet in GitHub keine Issue-Flut, aber die Degradation ist sofort sichtbar.

Wofür das gut ist

SDK ist zweimal auf die `aioresponses`/`aiohttp`-Divergenz gelaufen (v1.0.3-Shim um den `stream_writer`-Fehler). Beide Male erst durch User-Reports entdeckt. Nightly surfaced die nächste Divergenz, bevor jemand ein Issue öffnet.

Keine Secrets, keine Credentials

Alles läuft gegen `aioresponses`-gemockte HTTP. Keine Live-API-Traffic, keine `ONEKOMMAFIVE_*`-Secrets im Workflow. Entspricht der 2026-10-16-Policy.

Test plan

  • YAML-Syntax validiert
  • Secret-Scan: keine `secrets.*`-Referenzen
  • `fail-fast: false` sorgt dafür, dass eine failende Zelle die anderen drei nicht killt
  • Erster Live-Lauf: nach Merge wird am nächsten 05:17 UTC getestet. Alternative: `workflow_dispatch` auslösen, um sofort zu sehen, dass alle vier Zellen grün sind

🤖 Generated with Claude Code

https://claude.ai/code/session_01RgkYaQACLxezeceA1hrXQs

Cross-checks the full test suite every day at 05:17 UTC against the
cartesian of Python 3.13/3.14 × aiohttp "latest" (as pip resolves it
today) × "locked" (as pinned in uv.lock).

Reason: the SDK hit aioresponses-vs-aiohttp divergence twice already
(the v1.0.3 stream_writer shim). Nightly surfaces the next
divergence before users file issues.

Everything runs against aioresponses-mocked HTTP; no live API
traffic, no credentials. The report-failure job opens or updates a
single `nightly-failure`-labelled issue on a scheduled-run failure so
we don't get a daily inbox spam.

Co-Authored-By: Claude Opus 4.7 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RgkYaQACLxezeceA1hrXQs
@mrebbert
mrebbert merged commit 0877b12 into main Oct 16, 2026
8 checks passed
@mrebbert
mrebbert deleted the ci/nightly-matrix branch October 16, 2026 06:16
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.

1 participant