Second pass runs against an already active workspace and may race with Python/Ansible bytecode writes.\nWhen MODE_CLEANUP triggers make clean in pass 2, git clean -fdX can fail with 'Directory not empty' on __pycache__, causing a false CI failure after a successful playbook run.\n\nPass 1 keeps cleanup enabled; pass 2 now forwards --skip-cleanup to avoid this non-deterministic post-deploy failure.
- force PYTHON=python3 for scripts/meta/resolve/apps.sh to avoid host venv leakage into container exec
- pipe output through jq to guarantee compact JSON array only
- tolerate compose warnings on stdout during discovery
- add debug fallback printing first lines of raw apps.sh output when discovery is empty
This aligns local test behavior with CI discovery robustness without changing CI logic.
https://chatgpt.com/share/698e24d6-7200-800f-a2f5-28a81a639cf3
* Replace ONLY_APP with space-separated WHITELIST across CI and local/act deploy tests
* Rename build-test-matrix.sh to scripts/meta/resolve/apps.sh and apply optional whitelist filter
* Add manual CI entry workflow to run orchestrator with distros/whitelist inputs
https://chatgpt.com/share/698c406c-0968-800f-ae84-1bcca023363c
- Use sudo to reliably remove root-owned files under INFINITO_DOCKER_VOLUME
- Recreate Docker root directory after cleanup
- Restore runner ownership to avoid follow-up permission issues
- Add debug output for ownership and permissions
- Document required INFINITO_DOCKER_VOLUME in script usage
This prevents poisoned CI runs caused by incomplete Docker cleanup between distros.
https://chatgpt.com/share/6988be7d-fe40-800f-8ab9-60825acc064d
Move entry.sh, development init, and development deploy execution into the
development container via cli.deploy.development exec.
Deployment logic, arguments, and execution order remain unchanged.
https://chatgpt.com/share/69861572-9c74-800f-9f3f-904202371bbc
Renamed docker-compose and docker-compose-ca roles to sys-svc-compose and sys-svc-compose-ca, updated template includes, handlers, lookups, tests, and variables, and moved compose instances to /opt/compose.
https://chatgpt.com/share/6985ab2c-8344-800f-9e9a-768f562d138d
- Add local dedicated_distro.sh implementing the same two-pass deploy logic
as CI (ASYNC_ENABLED=false/true) without destructive cleanup
- Switch test-local-dedicated to pure ENV-based interface (TEST_DEPLOY_TYPE, APP)
- Refactor local deploy helpers into utils/ structure:
- move reset.sh to utils/reset.sh
- split cleanup into targeted purge helpers (entity, web, lib)
- Update Makefile targets to reflect new structure and workflows
https://chatgpt.com/share/6982804e-1f60-800f-809e-629d0fe62de3
- remove host-mounted INFINITO_DOCKER_VOLUME between runs
- recreate docker data dir to avoid cross-distro state leakage
- keep images while fully resetting containers, networks and volumes
- ensure clean CI environment for each distro deploy
- Track runtime per distro during CI deploy runs
- Add MAX_TOTAL_SECONDS env to limit total execution time
- Skip remaining distros if remaining budget is smaller than the slowest prior run
- Print warnings and a detailed timing summary at the end
- Wire time budget via Makefile for ci-deploy-app
https://chatgpt.com/share/6981f7e4-590c-800f-a6df-15557ce73a86
- Replace legacy app.sh/distros.sh orchestration with explicit all_distros.sh + dedicated_distro.sh
- Deploy each app sequentially across distros against a fresh stack
- Run two deploy passes per distro:
- Pass 1 with ASYNC_ENABLED=false
- Pass 2 with ASYNC_ENABLED=true against the same stack
- Remove deprecated cli.deploy.development run orchestrator
- Extend init command with --vars to inject inventory overrides
- Enforce debug mode for CI deploys
- Add hard Docker cleanup after each distro (containers, networks, volumes, build cache; keep images)
- Emit disk and docker usage before and after deploy for observability
https://chatgpt.com/share/6981c7d4-642c-800f-8438-9e2349ac53fb