mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-28 19:01:34 +00:00
Rebase resolution: dev's #392 introduced tests_backend/requirements.txt (python 3.14, phcc 0.13.357, homeassistant 2026.8.3) — exactly the single-source-of-pins AC of this issue, so the duplicate requirements_test.txt is dropped and both workflows keep installing from the #392 file; ruff is added there for the lint step. The backend reuse key no longer names the dead file (tests_backend/ as a root already covers the new one); ARCHITECTURE.md points at the real path. User-Visible: no Issue: #42
This commit is contained in:
@@ -1549,8 +1549,10 @@ their passports; `scripts/config-audit.mjs` treats both as `current`.
|
||||
|
||||
## Backend quality gates (#42, 2026-08-30)
|
||||
|
||||
- `requirements_test.txt` is the single source of backend CI dependencies
|
||||
(validate.yml and mutation-gate.yml install from it).
|
||||
- `tests_backend/requirements.txt` is the single source of backend CI
|
||||
dependencies (validate.yml and mutation-gate.yml install from it; the file
|
||||
itself was introduced by #392, which also moved the harness to python 3.14
|
||||
and the current Home Assistant — #42 adds ruff to it for the lint step).
|
||||
- `pyproject.toml` configures ruff (E/F/B/I, E501 excluded by decision) and
|
||||
mypy strict for a grow-only allowlist of pure modules; the completeness
|
||||
guard lives in `tests_backend/test_backend_quality.py`.
|
||||
|
||||
@@ -49,13 +49,13 @@ export const HARNESS = {
|
||||
|| /^demo\/benchmark_(glow|large_house)\.mjs$/.test(rel),
|
||||
},
|
||||
backend: {
|
||||
// #42: порог покрытия и пины зависимостей — прямые входы job
|
||||
// (`head -1 baseline` в шаге сравнения; `pip install -r`): их изменение
|
||||
// без правок тестов обязано сбрасывать реюз, иначе baseline-bump молча
|
||||
// пройдёт по старому зелёному маркеру.
|
||||
// #42: порог покрытия и конфиг линтеров — прямые входы job
|
||||
// (`head -1 baseline` в шаге сравнения; ruff/mypy читают pyproject): их
|
||||
// изменение без правок тестов обязано сбрасывать реюз, иначе baseline-bump
|
||||
// молча пройдёт по старому зелёному маркеру. Пины зависимостей
|
||||
// (tests_backend/requirements.txt, #392) покрыты корнем tests_backend.
|
||||
roots: ['tests_backend', 'custom_components', 'pytest.ini',
|
||||
'scripts/backend-coverage-baseline.txt', 'requirements_test.txt',
|
||||
'pyproject.toml'],
|
||||
'scripts/backend-coverage-baseline.txt', 'pyproject.toml'],
|
||||
// Внутри custom_components/** значим только Python: собранный фронтенд
|
||||
// лежит там же и меняется от любой сборки, а backend его не исполняет.
|
||||
keep: (rel) => !rel.startsWith('custom_components/') || rel.endsWith('.py'),
|
||||
|
||||
Reference in New Issue
Block a user