mirror of
https://github.com/basnijholt/adaptive-lighting.git
synced 2026-09-11 22:34:04 +02:00
tests/README.md has developers clone Home Assistant core into ./core, but Docker does not read .gitignore, so `COPY . /app/` shipped that ~300MB checkout into the build context and into the image on every build. It also changed what the build did. With /app/core already present as a real directory, `ln -s /core /app/core` linked *inside* it — leaving a stray /app/core/core -> /core — and scripts/setup-dependencies then installed from the copied host checkout rather than the image's own pinned clone. Excluding core/ (plus local virtualenvs, VCS state and caches) takes the build context from 412MB to 4.6MB and the image from 2.34GB to 2.1GB, and makes a build with a local ./core behave like a clean one: /app/core is the intended symlink to /core. This does remove an accident. An image built while a local ./core existed happened to run without `-v $(pwd):/app`, because the copied checkout carried relative symlinks that still resolved inside /app. A clean-checkout build never had that property — there the symlinks setup-symlinks writes into /core dangle — and tests/README.md requires the mount either way. 479 passed, unchanged. Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
28 lines
588 B
Text
28 lines
588 B
Text
# The Home Assistant core checkout. tests/README.md has you clone it to ./core,
|
|
# but the Dockerfile clones its own copy to /core and links /app/core to it.
|
|
# Without this entry `COPY . /app/` ships ~300MB into every build and leaves
|
|
# /app/core as a real directory, so `ln -s /core /app/core` links *inside* it
|
|
# rather than creating the intended symlink.
|
|
core/
|
|
|
|
# Local virtualenvs
|
|
.venv/
|
|
venv/
|
|
env/
|
|
ENV/
|
|
|
|
# Not used by the build
|
|
.git/
|
|
.vscode/
|
|
.idea/
|
|
|
|
# Caches and test output
|
|
__pycache__/
|
|
*.py[cod]
|
|
.pytest_cache/
|
|
.ruff_cache/
|
|
.mypy_cache/
|
|
htmlcov/
|
|
.coverage
|
|
.coverage.*
|
|
coverage.xml
|