-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathjustfile
More file actions
63 lines (48 loc) · 1.68 KB
/
Copy pathjustfile
File metadata and controls
63 lines (48 loc) · 1.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
set shell := ["bash", "-eu", "-o", "pipefail", "-c"]
# 💜 hypercolor-hass: list available recipes
default:
just --list
# 🌀 sync all dependency groups (dev, hass, lint, test, types)
sync:
uv sync --all-groups
# 🪄 ruff fix + format
fmt:
uv run ruff check . --fix
uv run ruff format .
# 🔮 ruff lint + format check
lint:
uv run ruff check .
uv run ruff format --check .
# 🧪 type-check with ty
typecheck:
uv run ty check
# 🌊 run pytest
test:
uv run pytest --cov=custom_components/hypercolor --cov-report=term-missing
# 🦋 end-to-end pytest (fake daemon)
e2e:
uv run pytest tests/test_hass_control_surface.py tests/test_hass_entity_lifecycle.py
# ⚡ end-to-end pytest against a real daemon
e2e-real:
HYPERCOLOR_HASS_REAL_E2E=1 uv run pytest tests/test_hass_real_daemon.py -m e2e
# 💎 build sdist + wheel
build:
uv build
# 🎯 manifest, hacs.json, services.yaml, strings.json checks
metadata:
uv run python scripts/check_integration_metadata.py
# 🛠️ stage the throwaway HA dev config
hass-setup:
uv run python scripts/hass_dev.py --setup-only
# 🌙 boot a throwaway HA on :8123 with the integration symlinked in
hass-dev:
uv run python scripts/hass_dev.py
# 🪐 run Home Assistant's config validator against the dev config
hass-check:
uv run python scripts/hass_dev.py --setup-only
uv run hass --script check_config --config .dev/hass/config
# 🌈 the full pipeline: what CI runs
verify: lint typecheck test metadata build
# 🔄 reset transient HA state under .dev/
clean-hass:
rm -rf .dev/hass/config/.storage .dev/hass/config/deps .dev/hass/config/home-assistant.log* .dev/hass/config/home-assistant_v2.db*