Commit Graph
93 Commits
Author SHA1 Message Date
kevinveenbirkenbachandClaude Sonnet 4.6 10b889e76f refactor(deploy): single deploy-fresh-purged-apps target with FULL_CYCLE flag
Consolidates into one target. FULL_CYCLE defaults to false (deploy only);
set FULL_CYCLE=true for deploy + update pass. Extracts run_pass function
in fresh-purged-app.sh to eliminate duplicated init+deploy logic. Updates
makefile.md, playwright.md, iteration.md, and environment.sh with correct
FULL_CYCLE usage.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 17:14:44 +02:00
kevinveenbirkenbach e142b42a3a fix(ci): install missing ruamel.yaml dependency in deploy pipeline 2026-03-30 04:27:31 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 0d206ae3c8 refactor(inventory): introduce INVENTORY_FILE as SPOT for devices.yml path
Define INVENTORY_FILE="${INVENTORY_DIR}/devices.yml" once in
scripts/meta/env/inventory.sh and export it. Remove all local
inv_file definitions; assert INVENTORY_FILE as required in each
consumer script. Rename CMD variable in container.sh from INSPECT_CMD.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 02:18:29 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 a50c90c733 fix(deploy): resolve SERVICES_DISABLED service names to app IDs and verify inventory
- deploy.py: use find_provider_roles() to map service names (e.g. 'matomo')
  to provider app IDs (e.g. 'web-app-matomo') before filtering deploy_ids;
  forward SERVICES_DISABLED into the container via extra_env
- container.sh: rename INSPECT_CMD to CMD for consistency; fix indentation
- Makefile: expose CMD variable on exec target for non-interactive use
- environment.sh: source scripts/meta/env/all.sh for INVENTORY_DIR; add
  inventory verification after SERVICES_DISABLED deploy using make exec
- variables.md: document CMD variable

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 01:26:44 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 e372349d10 refactor: rename deploy-*-app to deploy-*-apps for multi-app support
Update all Make targets, comments, docs, and scripts to use the plural
form, reflecting that APPS can specify more than one application.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-29 16:47:16 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 15ac4f062a refactor(ci): rename test-development.yml to test-environment.yml
Aligns the workflow filename with its job name and purpose.
Updates all references in ci-orchestrator.yml and act/workflow.sh.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-29 12:39:15 +02:00
kevinveenbirkenbachandClaude Sonnet 4.6 06a688c59a refactor(deploy): rename APP to APPS throughout the project
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>
2026-03-29 11:41:31 +02:00
kevinveenbirkenbach 0200b22298 Normalize scripts layout and Make targets 2026-03-28 09:00:38 +01:00
kevinveenbirkenbach 620478e9dd fix local purge web script path 2026-03-28 07:45:11 +01:00
kevinveenbirkenbach e0f9ef1dd4 refactor: rename deploy ci and act scripts 2026-03-28 06:27:48 +01:00
kevinveenbirkenbach 6d98ca4cd0 refactor: normalize local deploy layout 2026-03-28 06:20:06 +01:00
kevinveenbirkenbach 67fadb57b8 refactor: normalize inventory filename to devices 2026-03-28 05:40:13 +01:00
kevinveenbirkenbach c456c7e4bd docs: centralize local deploy script index 2026-03-28 04:50:25 +01:00
kevinveenbirkenbach cb7b0cb4ec docs: centralize deploy iteration policy 2026-03-28 04:44:31 +01:00
kevinveenbirkenbach e9d0d207a9 docs: add local inspect wrapper 2026-03-28 03:07:24 +01:00
kevinveenbirkenbach bee5b2a382 chore: make local deploy lib executable 2026-03-28 02:03:04 +01:00
kevinveenbirkenbach 3fb1dc1207 refactor: rename local deploy targets 2026-03-28 00:22:51 +01:00
kevinveenbirkenbach f20c1cdbc6 Refactor CI deploy script entrypoint 2026-03-27 21:51:13 +01:00
kevinveenbirkenbach d072ffa664 refactor: share local deploy bool helper 2026-03-27 19:23:45 +01:00
kevinveenbirkenbach 83cf73c6a7 docs: refine local deploy guidance 2026-03-27 19:17:39 +01:00
kevinveenbirkenbachandClaude Sonnet 4.6 b50d84b5b3 feat: upload Playwright screenshots as GitHub Actions artifacts
- 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>
2026-03-24 22:32:25 +01:00
kevinveenbirkenbach 189267496d Rename module_utils package to utils 2026-03-21 02:05:39 +01:00
kevinveenbirkenbach 003a3a0b84 Merge branch 'main' into feature/lint
Resolve merge conflicts, keep the cleanup script move to scripts/image, and fix the resulting lint regressions.
2026-03-21 01:36:58 +01:00
kevinveenbirkenbach 617d73881d fix: avoid nested compose exec in local dedicated deploy 2026-03-20 22:26:13 +01:00
kevinveenbirkenbach c1a4660a8b refactor(env): split meta env into modular scripts
replace env.sh usage with scripts/meta/env/all.sh, add env directory README, and switch purge entity python resolution to scripts/meta/env/python.sh
2026-03-20 22:19:50 +01:00
kevinveenbirkenbach 5570be2b84 test(act): force single-job execution for local workflow runs 2026-03-20 21:38:44 +01:00
kevinveenbirkenbach 009e4e053f test(act): allow configurable concurrent jobs (default 5) 2026-03-20 21:08:10 +01:00
kevinveenbirkenbach 86a26f2b4b test(deploy): run pre-cleanup in host docker context 2026-03-20 19:53:59 +01:00
kevinveenbirkenbach 662c789d29 test(act): simplify workflow script and set platform image 2026-03-20 19:43:39 +01:00
kevinveenbirkenbach aded0c3bdd test(deploy): remove interactive flags from local docker exec 2026-03-20 16:36:32 +01:00
kevinveenbirkenbach 6f2dd46637 test(act): clean ignored files and repair ownership in fresh mode 2026-03-20 16:22:45 +01:00
kevinveenbirkenbach b31ffbd2c1 test(act): add reusable workflow runner target 2026-03-20 16:09:23 +01:00
kevinveenbirkenbach 0466359631 Merge branch 'main' into feature/lint
# Conflicts:
#	scripts/image/push.sh
#	scripts/meta/env.sh
#	scripts/meta/wait/mirrors.sh
#	scripts/tests/deploy/ci/all_distros.sh
2026-03-19 03:21:31 +01:00
kevinveenbirkenbach 3b11d7f469 feat(packaging): add distro packages and install via package metadata 2026-03-19 02:53:15 +01:00
kevinveenbirkenbach 38b1d08ef7 Improve distro compatibility and dev environment testing 2026-03-18 20:00:33 +01:00
kevinveenbirkenbach 292feaa5da Add highest missing release workflow 2026-03-18 18:01:49 +01:00
kevinveenbirkenbach a715970506 Refactor lint tooling and shell scripts 2026-03-18 12:37:31 +01:00
Alejandro Roman 07488e8fa1 fix(ci-lowercase): Add a logic to handle usernames that are not lowercase 2026-03-17 10:50:25 +01:00
kevinveenbirkenbach 5141187783 ci(deploy): skip cleanup during second deploy pass
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.
2026-03-16 18:36:17 +01:00
kevinveenbirkenbach 8c21d13d05 test(local): add test-local-app wrapper and docs 2026-02-28 13:38:05 +01:00
kevinveenbirkenbach 720841a7cf ci: aggressively prune docker artifacts between distro runs 2026-02-26 16:41:54 +01:00
kevinveenbirkenbach b849976f2d fix(local-deploy): preserve container PATH for infinito CLI 2026-02-22 17:34:48 +01:00
kevinveenbirkenbach 8cbbfb4d06 fix(deploy): use infinito CLI for inventory creation in container flows 2026-02-22 14:09:48 +01:00
kevinveenbirkenbach 608c03d3c8 Fix distro-specific CI image and pip package selection 2026-02-20 20:08:33 +01:00
kevinveenbirkenbach 656fced43c fix(ci): resolve docker apt key conflict and enforce per-distro stack 2026-02-20 19:12:52 +01:00
kevinveenbirkenbach 3e9de04704 refactor: move server inventories into bundles 2026-02-13 10:14:17 +01:00
kevinveenbirkenbach efa6c4bdf0 fix(local-test): make apps discovery JSON-safe and container-compatible
- 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
2026-02-12 20:06:58 +01:00
kevinveenbirkenbach 1bb67164e0 ci: add whitelist filtering for deploy test matrix
* 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
2026-02-11 09:40:00 +01:00
kevinveenbirkenbach 5acce545e1 refactor(cli): remove sound, alarm and server-type flags
Drop the sound/alarm subsystem and deprecated CLI flags.

* Remove --sound, --no-signal and --alarm-timeout
* Remove server-type flag (-T / TEST_DEPLOY_TYPE)
* Delete sound-related modules
* Simplify RunConfig and runner error handling
* Update help output, scripts and tests
* Remove optional audio extras from pyproject.toml

https://chatgpt.com/share/698b74f1-0c0c-800f-98c4-183697d6a2a0
2026-02-10 19:10:37 +01:00
kevinveenbirkenbach 7c3e942fd5 Removed INCLUDE_RE 2026-02-10 14:53:31 +01:00