- Build matrix now includes variants: full + slim
- Tag slim images with -slim suffix and use Dockerfile target selection
- Use dedicated gha cache scopes per distro+variant
- Update release checks/retag/promote scripts to handle slim images too
https://chatgpt.com/share/69701a4e-b000-800f-be7e-162dcb93b1d2
- add --inventory-dir to container CLI test invocations
- assert inventory_dir is forwarded to run_in_container()
- add tests for required INVENTORY_DIR when env is missing
- add test for INVENTORY_DIR env fallback
https://chatgpt.com/share/69700d69-b270-800f-ad50-d9ff486378b9
- add scripts/inventory/resolve.sh to compute INVENTORY_DIR based on runtime context (act/github/local)
- resolve INVENTORY_DIR dynamically in Makefile via resolve.sh
- enforce INVENTORY_DIR usage across all local deploy/test scripts
- propagate INVENTORY_DIR into container and development CLI commands
- remove hardcoded /etc/inventories paths
https://chatgpt.com/share/69700d69-b270-800f-ad50-d9ff486378b9
Add two local test helpers to run full-stack deployments for all discovered apps:
- make test-local-inventory-init-all: bring up dev stack and create inventory
(/etc/inventories/local-full-<type>/servers.yml) including all apps
- make test-local-run-all: run deploy using the pre-initialized inventory
Also mark various scripts as executable (chmod +x) to ensure consistent
behavior across environments.
https://chatgpt.com/share/6970018e-1244-800f-9345-ca1596061729
Ensure install scripts run deterministically under set -u by explicitly
passing required environment variables from the Makefile:
- pass VENV, VENV_BASE and PYTHON to scripts/install/venv.sh
- pass ANSIBLE_COLLECTIONS_DIR and PYTHON to scripts/install/ansible.sh
This prevents hard failures in Docker and CI builds where variables are
not inherited from interactive shells.
https://chatgpt.com/share/6970018e-1244-800f-9345-ca1596061729
Ensure the VENV path is available to install scripts when running under
set -u (e.g. during Docker image builds and CI). Without this, venv.sh
fails with "VENV not set" during INFINITO_COMPILE builds.
This makes the build deterministic and independent from interactive
shell environments.
https://chatgpt.com/share/6970018e-1244-800f-9345-ca1596061729
- Make TEST_DEPLOY_TYPE strictly required in build-test-matrix
- Enforce required env vars in all act/ci/local deploy scripts
- Add deploy type validation everywhere
- Restore and export PYTHONPATH in Makefile
- Remove unused test directory variables
https://chatgpt.com/share/69700042-3fcc-800f-8bf9-b429d5bb7e82
- Move test-act target logic into scripts/tests/deploy/act/all.sh
- Move test-act-app target logic into scripts/tests/deploy/act/app.sh
- Keep Makefile targets as thin delegators
- Preserve existing flags and behavior
This keeps the Makefile minimal and makes act workflows reusable.
https://chatgpt.com/share/696ff4de-3abc-800f-a206-2f3dd5dec170
- Move test-local-cleanup logic into scripts/tests/deploy/local/cleanup.sh
- Move test-local-rapid logic into scripts/tests/deploy/local/rapid.sh
- Simplify Makefile targets to delegate into scripts
- Keep behavior and flags fully backward compatible
This improves maintainability, reuse in CI, and keeps the Makefile thin.
- execute tests inside running infinito container (no CLI wrapper)
- require INFINITO_DISTRO explicitly and show it in banner
- keep Nix accept-flake-config behavior inside container
- pass TEST_PATTERN/TEST_TYPE as container env and set workdir
- fall back to python3 if PYTHON is unset
https://chatgpt.com/share/696ff1d0-aa84-800f-82cb-05f2b1618d05
- Replace static argparse-based CLI in cli.deploy.development with dynamic
module dispatcher compatible with nested command discovery.
- Ensure cli.deploy.development is executable via python -m and root dispatcher.
- Fix unit test path resolution to work locally and in CI.
- Make docker-* Makefile targets depend on install.
- Simplify test runner script and keep Nix flake config compatibility.
This aligns the CLI architecture with integration test discovery
(cli/**/__main__.py) and removes the need for manual subcommand registration.
https://chatgpt.com/share/696fdbbc-b6d8-800f-a8b5-067aa7e38706
- Introduce cli.deploy.development build subcommand as single build SPOT
- Remove legacy compose.build_infinito implementation
- Make up use build-missing logic via build handler
- Add --when-down flag to up (skip startup if stack already running)
- Simplify restart/run to reuse up handler
- Ensure tests use up --when-down to avoid stack interference
- Make test targets depend on build-missing
https://chatgpt.com/share/696fd3c9-99f0-800f-a0ab-33a91058419a
- Run build-ci-images before all code test jobs
- Propagate ci-${GITHUB_SHA} image tag into test workflows
- Remove forced INFINITO_PULL_POLICY=never from Makefile tests
- Ensure tests use the freshly built CI images instead of :latest
https://chatgpt.com/share/696fb8cc-6b24-800f-8c96-d840f68d8eaa
- Add INFINITO_DOCKER_VOLUME and INFINITO_DOCKER_MOUNT env wiring in Makefile
- Switch infinito service to mount Docker root via env (with local fallback volume)
- Disable docker-on-mnt helper in favor of compose-based mount
- Keep named volume as fallback for local deployments
https://chatgpt.com/share/696f4386-fbbc-800f-bdde-f1e6c4145c84