Dockerfile: cargo-chef + cargo cache mounts; drop manifest guard

This commit is contained in:
2026-10-26 04:49:21 +01:00
parent 01ea36bce9
commit 0486f4881f
5 changed files with 41 additions and 69 deletions

View File

@@ -1,6 +1,6 @@
.DEFAULT_GOAL := check
check: fmt-check clippy test test-federation-off check-appcontext check-handler-deps check-handler-repos check-http-adapter-deps check-federation-off-social check-sqlite-is-ap-free check-binaries-are-thin check-dockerfile-manifests check-federation-off-deps check-nats-isolated check-no-second-web-stack
check: fmt-check clippy test test-federation-off check-appcontext check-handler-deps check-handler-repos check-http-adapter-deps check-federation-off-social check-sqlite-is-ap-free check-binaries-are-thin check-federation-off-deps check-nats-isolated check-no-second-web-stack
@echo "✅ All checks passed"
check-appcontext:
@@ -87,22 +87,6 @@ check-sqlite-is-ap-free:
fi
@echo "✅ sqlite crate depends on no k-ap, activitypub, or *-federation crate"
check-dockerfile-manifests:
@members=$$(awk '/^members = \[/{f=1;next} f&&/^\]/{f=0} f' Cargo.toml | sed -n 's/^[[:space:]]*"\(.*\)",\{0,1\}[[:space:]]*$$/\1/p'); \
copied=$$(sed -n 's/^COPY \([^[:space:]]*\)\/Cargo\.toml[[:space:]].*/\1/p' Dockerfile | grep -v '^\(Cargo\.toml\|\.\)$$' || true); \
bad=""; \
for m in $$members; do \
echo "$$copied" | grep -qxF "$$m" || bad="$$bad missing-COPY:$$m"; \
done; \
for c in $$copied; do \
echo "$$members" | grep -qxF "$$c" || bad="$$bad not-a-member:$$c"; \
done; \
if [ -n "$$bad" ]; then \
echo "❌ Dockerfile manifest COPY lines out of sync with workspace members:$$bad"; \
exit 1; \
fi; \
echo "✅ Dockerfile copies a manifest for every workspace member"
CARGO_TREE_NAMES := cargo tree -p server -p worker -e normal --prefix none
check-federation-off-deps:
@@ -183,4 +167,4 @@ dev-spa:
spa-dev:
@npm --prefix spa run dev
.PHONY: check fmt fmt-check clippy test test-federation-off fix dev dev-stop dev-worker dev-spa spa-dev check-appcontext check-handler-deps check-handler-repos check-http-adapter-deps check-federation-off-social check-sqlite-is-ap-free check-binaries-are-thin check-dockerfile-manifests check-federation-off-deps check-nats-isolated check-no-second-web-stack
.PHONY: check fmt fmt-check clippy test test-federation-off fix dev dev-stop dev-worker dev-spa spa-dev check-appcontext check-handler-deps check-handler-repos check-http-adapter-deps check-federation-off-social check-sqlite-is-ap-free check-binaries-are-thin check-federation-off-deps check-nats-isolated check-no-second-web-stack