From 03da186a063a4f87be1e2e70050a12652688b8c3 Mon Sep 17 00:00:00 2001 From: Kevin Veen-Birkenbach Date: Tue, 18 Aug 2026 01:44:12 +0200 Subject: [PATCH] build: keep the image context clean instead of wiping the worktree Every test target required 'clean', which is 'git clean -fdX .' - so running the unit tests deleted every git-ignored file the operator had, venv and caches included. It was compensating for a missing .dockerignore: the Dockerfile's COPY . . otherwise drags __pycache__, egg-info and build output into the image context. The ignore file fixes that where it belongs, so the prerequisite can go. 'clean' remains available as its own target. Co-Authored-By: Claude Opus 5 (1M context) --- .dockerignore | 13 +++++++++++++ Makefile | 14 +++++++------- 2 files changed, 20 insertions(+), 7 deletions(-) create mode 100644 .dockerignore diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..c68070f --- /dev/null +++ b/.dockerignore @@ -0,0 +1,13 @@ +.git +.github +__pycache__ +**/__pycache__ +*.egg-info +**/*.egg-info +artifacts/ +dist/ +build/ +.venv +.ruff_cache +.pytest_cache +.mcp.json diff --git a/Makefile b/Makefile index f8c5d5a..dc9d19a 100644 --- a/Makefile +++ b/Makefile @@ -51,19 +51,19 @@ ruff-fix: install-lint lint: ruff -# clean + build run once and in order, then lint and the three suites run -# concurrently via -j4; the *-run targets carry no clean/build prereq so the -# sub-make cannot race a second clean against build. +# build runs once, then lint and the three suites run concurrently via -j4; the +# *-run targets carry no build prereq so the sub-make cannot race a second build. +# `clean` is deliberately not a prerequisite; .dockerignore keeps the image +# context clean instead. test: - @$(MAKE) clean @$(MAKE) build @$(MAKE) -j4 lint test-unit-run test-integration-run test-e2e-run -test-unit: clean build test-unit-run +test-unit: build test-unit-run -test-integration: clean build test-integration-run +test-integration: build test-integration-run -test-e2e: clean build test-e2e-run +test-e2e: build test-e2e-run test-unit-run: @echo ">> Running unit tests"