Makes clear that multiple space- or comma-separated app ids are
supported. Renames the env var, CLI flag (--app → --apps), and all
references in scripts, workflows, and documentation.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add upload-artifact step to test-deploy-server.yml
- Copy reports from infinito container to runner in dedicated_distro.sh cleanup before volume prune
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* 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
- Add explicit job names where missing
- Standardize all job titles to Emoji + imperative + object format
- Improve CI readability and consistency across workflows
- No functional changes to job logic or execution order
https://chatgpt.com/share/6988695a-be4c-800f-85ba-5e67e5fef3e0
- Add required GHCR mirror environment variables to CI workflows
- Generate mirrors.yml during development inventory init on CI
- Introduce mirrors helper module with strict env validation
- Minor formatting cleanup in mirror providers
`
https://chatgpt.com/share/6980ff2e-8f18-800f-85e1-79d56a2027f5
Move the full app discovery step into a dedicated Make target (ci-discover-output)
and execute discover.sh inside the infinito CI container to ensure a consistent
runtime environment.
This removes inline discovery logic from GitHub Actions workflows and prevents
host-side dependency issues (e.g. missing Python modules or jq mismatches).
- Add ci-discover-output Make target
- Run scripts/ci/discover.sh inside infinito container
- Simplify all test-deploy workflows to use the new wrapper
- Keep ONLY_APP override and GITHUB_OUTPUT handling intact
https://chatgpt.com/share/696e3d20-276c-800f-87a7-a7052989ffe4
Replaced all usages of `make up` with `make docker-up` in GitHub Actions workflows.
Renamed Makefile targets:
- up -> docker-up
- down -> docker-down
- stop -> docker-stop
- added docker-restart
This makes the Docker-specific intent explicit and avoids ambiguity with other potential `up` targets.
https://chatgpt.com/share/696bb966-ee90-800f-a5d2-e419cc423cc4
- Add `distros` input to code-analyses orchestrator and forward it to build and deploy workflows
- Enforce distros via required workflow_call inputs in test-deploy-* workflows
- Restrict push and pull-request entries to arch only
- Run nightly workflows on full distro matrix
- Align nightly release cron to 00:00 UTC
- Build CI images with immutable ci-<sha> tags instead of latest
- Pass CI image tag into deploy workflows via INFINITO_IMAGE_TAG
- Derive CI_TAG from checked-out release tag commit
- Retag CI images to <version> and latest on release (no rebuild)
- Make release scripts independent from GITHUB_SHA coupling
- Improve robustness and reproducibility of release pipeline
https://chatgpt.com/share/696832f6-35e4-800f-a574-178013d4426e
Add top-level concurrency blocks to CI entry workflows (PR, push, schedule,
version) to avoid overlapping runs and reduce resource contention on runners.
Also refactor code-analyses workflow dependencies so deploy:workstation waits
for deploy:server to complete (prioritize server debugging), and do minor
whitespace/newline cleanups in web-opt-rdr-domains role files.
https://chatgpt.com/share/6967cff2-1584-800f-a2d3-1ef7a824f62f
- Replace legacy MODE env with TEST_DEPLOY_TYPE across workflows and scripts
- Route CI deploy and discovery through Makefile targets
- Rename deploy-one-app.sh to deploy-app.sh and update all call sites
- Fix Makefile recursion and ensure scripts are executed directly
- Ensure JSON discovery output is clean via silent make target
- Make MISSING_ONLY default true via Makefile
- Respect INFINITO_NO_BUILD in compose up to avoid implicit rebuilds in CI
- Keep explicit build step before compose up for deterministic CI runs
- Improve deploy logging (test_deploy_type instead of mode)
Result:
- Deterministic CI behaviour
- No accidental docker compose rebuilds on up
- Single source of truth for deploy orchestration
- Cleaner env contract between workflows, make, bash and python
https://chatgpt.com/share/69678024-fe38-800f-b877-add46aa55190
Switch CI detection to GITHUB_ACTIONS and disable compose builds via
INFINITO_NO_BUILD=1. The deploy workflows now rely on pulling the prebuilt
CI image instead of triggering local Docker builds.
- Remove legacy UP_BUILD handling
- Enable --no-build in compose when running in real CI
- Keep local/act builds working as before
https://chatgpt.com/share/69666e0b-f08c-800f-93fd-611eced4b100
- Move INFINITO_IMAGE and INFINITO_PULL_POLICY handling into Makefile
- Auto-configure CI vs act via IS_ACT switch
- Remove duplicated env exports from test-deploy workflows
- Ensure compose uses pulled CI images in GitHub Actions
- Keep local act builds using locally built images
This makes CI behavior deterministic while keeping local test runs fast and simple.
https://chatgpt.com/share/69665ae7-37f4-800f-b287-e095714e80a4
Let the Makefile auto-detect act vs GitHub Actions and set INFINITO_PULL_POLICY
accordingly (never for act, always for CI).
This removes redundant INFINITO_PULL_POLICY exports from test-deploy workflows
and centralizes the logic in the Makefile.
Result:
- GitHub Actions always pulls CI images
- act/local runs use locally built images
- no workflow duplication
https://chatgpt.com/share/69665ae7-37f4-800f-b287-e095714e80a4
- Add reusable build-ci-images workflow to build and push ci-<sha> images for all distros
- Make all deploy test workflows use prebuilt CI images (no local rebuilds)
- Replace ci-version workflow with release workflow
- Retag ci images to <version> and latest on tag push (no rebuild)
- Move stable git tag only if all analyses/tests succeed and version is highest
- Make compose image/pull policy configurable via env
https://chatgpt.com/share/69662869-ee1c-800f-9e6c-bbbf47284fad
Replace inline tail logic in deploy workflows with a shared
scripts/ci/log-tail.sh helper that prints the last N lines of all
log files on failure.
This improves debuggability, avoids code duplication, and ensures
consistent log output across server, universal and workstation
pipelines.
https://chatgpt.com/share/69661d0e-81a8-800f-8b98-6c964672d027
Refactor server, universal-rest, and workstation deploy workflows to:
- add a dedicated discover job that outputs the app list
- run one matrix job per app (one runner per app)
- remove bash loop over apps
- upload logs per app artifact
This enables parallel per-app deployments and clearer failure isolation.
https://chatgpt.com/share/6965ccdc-ed44-800f-b1e8-f0071db6dd07
- Rename _deploy-matrix.yml -> _deploy-per-app.yml and drop unused inputs
(tested_lifecycles, only_distro, final_exclude_re).
- Keep one runner per app (matrix.app) and run all distros inside that job.
- Makefile: run deploy tests through act workflow_dispatch (no serial script).
- Add scripts/ci/discover.sh and scripts/ci/deploy-one-app.sh as small SRP helpers.
- Update reusable workflow callers to use the renamed file.
https://chatgpt.com/share/69659ff3-1414-800f-8652-5298fcf55398
- Add reusable _deploy-matrix workflow with discovery + per-app deploy across distros
- Enforce serial execution via strategy.max-parallel=1 and act --concurrent-jobs 1
- Support filters: mode (server|workstation|rest), only_app, only_distro, include/exclude regex
- Refactor test runner: remove discovery, require --app, deploy single app with deps only
- Generalize discover script to discover-apps.sh with INCLUDE_RE/EXCLUDE_RE + lifecycle gating
- Update Makefile targets to drive workflow_dispatch inputs for local act runs
https://chatgpt.com/share/69659ff3-1414-800f-8652-5298fcf55398
Add disk usage diagnostics and aggressive Docker cleanup between
sequential distro deploy runs to prevent runner disk exhaustion.
- Log disk and Docker usage before and after each deploy
- Preserve stack on failure for debugging
- Prune images, volumes and build cache only on success
https://chatgpt.com/share/69637278-7aa0-800f-a492-7be95f5e8605
- continue testing all distros and fail at end if any deploy fails
- prevent make down from aborting the test loop
- move tail-on-failure logic to a dedicated workflow step
- improve local debugging with act and skip artifact upload there
https://chatgpt.com/share/69601617-9808-800f-a7cd-f5e65e40c04e
* Avoid GitHub Actions matrix job limits by looping distros inside the per-app job
* Simplify discover output emission and pin checkout/upload-artifact to stable versions
* Tidy long log lines and minor formatting in deploy/test helpers
https://chatgpt.com/share/695fa9b9-4460-800f-bcc3-d566b83649b2