fix(make): auto-detect docker/podman so Makefile works on either engine
- Makefile: introduce CONTAINER_CMD ?= $(shell command -v docker || echo podman), replace all 12 hardcoded `docker` invocations with $(CONTAINER_CMD). User can override with `make <target> CONTAINER_CMD=podman` or env export. - e2e/tests/us1-bootstrap-admin.spec.ts: AC-1.4 regex updated to match the new variable form `$(CONTAINER_CMD) exec … flask create-admin` (was hardcoded `docker exec`). RUNTIME default also auto-detects (same logic as Makefile) so the test exec'es the right engine without a MIMIC_CONTAINER_CMD export. - e2e/tests/us6-deployment.spec.ts: same RUNTIME auto-detect so the make-dry-run regex assertions on lines 75 + 77 match what the Makefile actually emits on a podman-only host. - README + CHANGELOG document the new behavior. Fixes the user-reported issue: "Le makefile ne fonctionne pas sur ma machine qui n'a que podman." Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -24,7 +24,15 @@ import {
|
||||
waitForHealth,
|
||||
} from '../fixtures/api';
|
||||
|
||||
const RUNTIME = process.env.MIMIC_CONTAINER_CMD ?? 'docker';
|
||||
function detectRuntime(): string {
|
||||
try {
|
||||
execSync('command -v docker', { stdio: 'ignore' });
|
||||
return 'docker';
|
||||
} catch {
|
||||
return 'podman';
|
||||
}
|
||||
}
|
||||
const RUNTIME = process.env.MIMIC_CONTAINER_CMD ?? detectRuntime();
|
||||
const CONTAINER = process.env.MIMIC_CONTAINER ?? 'mimic';
|
||||
const IMAGE = process.env.MIMIC_IMAGE ?? 'mimic:latest';
|
||||
const __dirname = dirname(fileURLToPath(import.meta.url));
|
||||
|
||||
Reference in New Issue
Block a user