Skip to content

ci: migrate pytest + Docker to PHCC (retire HA core-checkout harness)#3

Merged
CaseyRo merged 4 commits into
mainfrom
migrate-ci-to-phcc
Jul 9, 2026
Merged

ci: migrate pytest + Docker to PHCC (retire HA core-checkout harness)#3
CaseyRo merged 4 commits into
mainfrom
migrate-ci-to-phcc

Conversation

@CaseyRo

@CaseyRo CaseyRo commented Jul 9, 2026

Copy link
Copy Markdown
Owner

Fixes the pytest and Docker CI failures. Implements openspec change migrate-ci-to-phcc (proposal + design + tasks in openspec/changes/).

Root cause

The tests were rewritten PHCC-style (pytest-homeassistant-custom-component, green locally at 164 passed) but CI still ran the upstream HA-core-checkout harness, which never installs PHCC → ModuleNotFoundError on every entry. Docker built the same core-checkout image and died on core/requirements_test_all.txt (HA dev moved it).

What changed

  • pytest.yaml rewritten to run the local PHCC suite. Two-entry matrix: stable (latest PHCC) and dev (--pre, continue-on-error). Recipe verified in a clean env locally (164 passed, Python 3.13, latest PHCC).
  • Trigger bug fixed: the old workflow was push: branches: [master] — the default branch is main, so it never ran on main.
  • Retired the dead scaffolding: install_dependencies action, setup-dependencies, setup-symlinks, update-test-matrix.{py,yaml}, test_dependencies.py, Dockerfile, docker-build.yml.
  • setup-devcontainer → PHCC flow (uv sync --group test); tests/README.md rewritten; CLAUDE.md drops the 'Refresh test matrix' row.
  • Declared floor corrected: hacs.json 2024.12.02026.1.0; README min-version line fixed (it wrongly claimed 2025.1.0 'pinned in manifest.json' — the manifest pins none).

Not changed

No custom_components/ code, no test files. Coverage (--cov) dropped (was computed but never uploaded).

Depends on / complements #2 (pre-commit + TOC quick wins).

CaseyRo added 4 commits July 9, 2026 11:47
Design-first per repo convention. Migrates pytest + Docker CI off the dead HA core-checkout harness to the PHCC-based local test suite that already passes locally (164). Implementation (tasks + code) held pending review of the design's open questions.
Implements openspec change migrate-ci-to-phcc.

- pytest.yaml: run the local PHCC suite (latest + dev matrix; dev is
  continue-on-error). Fixes the trigger (was push:[master] -> never ran on
  main; now main). Drops coverage (was computed but never uploaded). Recipe
  verified in a clean env locally: 164 passed, Python 3.13, latest PHCC.
- Delete dead core-checkout scaffolding: install_dependencies action,
  setup-dependencies, setup-symlinks, update-test-matrix.{py,yaml},
  test_dependencies.py, Dockerfile, docker-build.yml.
- setup-devcontainer: PHCC flow (uv sync --group test).
- tests/README.md: rewritten for 'uv run pytest'.
- CLAUDE.md: drop the 'Refresh test matrix' row.
- hacs.json 2024.12.0 -> 2026.1.0; README min-version line corrected (it
  wrongly claimed '2025.1.0 pinned in manifest.json' - manifest pins none).
@CaseyRo
CaseyRo merged commit 027a6de into main Jul 9, 2026
6 checks passed
@CaseyRo
CaseyRo deleted the migrate-ci-to-phcc branch July 9, 2026 11:31
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