Commit Graph
684 Commits
Author SHA1 Message Date
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 3809a9c5af test: switch development script to dedicated local test target 2026-03-20 17:17:57 +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 6a1bc9c116 test: update development workflow runtimes 2026-03-19 00:00:40 +01:00
kevinveenbirkenbach 4b9ada25d4 Fix dev test script working directory 2026-03-18 22:52:31 +01:00
kevinveenbirkenbach 9c1a1b90ec Rename development test workflow and script 2026-03-18 20:15:28 +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
kevinveenbirkenbach 558ec41151 Removed EXCLUDE_RE 2026-02-10 14:51:42 +01:00
kevinveenbirkenbach 84782f3b22 refactor(invokable): centralize app discovery, add type grouping, and derive deploy stages from inventory groups
https://chatgpt.com/share/698b0039-c4c4-800f-b962-7033324c07a8
2026-02-10 10:53:53 +01:00
kevinveenbirkenbach 26be2ec2a7 Removed cleanup noise 2026-02-09 00:28:30 +01:00
kevinveenbirkenbach a49976fd41 Fix CI cleanup by force-resetting Docker root directory
- 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
2026-02-08 17:48:56 +01:00
kevinveenbirkenbach ddfbe001b2 Use container wrapper for logs in health checks and diagnostics
https://chatgpt.com/share/698659d9-62e4-800f-89a1-5d44f309bde4
2026-02-06 22:30:19 +01:00
kevinveenbirkenbach e8f62dfa7c Solved reset bug 2026-02-06 18:02:24 +01:00
kevinveenbirkenbach b399253884 test(deploy): run dedicated_distro init and deploy inside development container
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
2026-02-06 17:22:38 +01:00
kevinveenbirkenbach 51239968fd refactor: rename docker-compose roles to sys-svc-compose and update paths
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
2026-02-06 09:49:42 +01:00
kevinveenbirkenbach 88924b4fdd Removed update mode verywhere to keep behaviour more deterministic 2026-02-05 11:43:14 +01:00
kevinveenbirkenbach f9f0501f1a Refresh matomo 2026-02-04 14:03:38 +01:00
kevinveenbirkenbach a5bbba1eb3 Added inventory to cleanup 2026-02-04 10:07:02 +01:00
kevinveenbirkenbach b6fa8c1a31 Build inventory at beginning 2026-02-04 01:16:10 +01:00
kevinveenbirkenbach fe40b48cab tests(local): add non-destructive dedicated deploy and refactor local utils
- 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
2026-02-04 00:10:00 +01:00
kevinveenbirkenbach 4066dbfeed Adapted script path 2026-02-03 22:51:34 +01:00
kevinveenbirkenbach 0ca8448b30 ci: hard-clean Docker state between distro deploys
- 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
2026-02-03 20:06:36 +01:00
kevinveenbirkenbach 0c9c8277d5 feat(ci): shuffle distros before deploy to improve fairness under time budget
- Randomize distro execution order in all_distros.sh
- Log final execution order for easier debugging

https://chatgpt.com/share/6981f7e4-590c-800f-a6df-15557ce73a86
2026-02-03 14:37:45 +01:00
kevinveenbirkenbach c75a823391 feat(ci): enforce global time budget for multi-distro deploys
- 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
2026-02-03 14:27:59 +01:00
kevinveenbirkenbach 9344a11c18 fix(ci-cleanup): use array-safe container removal to satisfy ShellCheck
- Replace word-splitting container ID handling with bash array
- Avoid SC2086 by passing container IDs as "${ids[@]}"
- Preserve correct behavior for multiple containers in CI cleanup

https://chatgpt.com/share/6981c7d4-642c-800f-8438-9e2349ac53fb
2026-02-03 11:05:15 +01:00
kevinveenbirkenbach bc38347798 refactor(ci-deploy): split per-distro deploy, add two-pass async test and hard cleanup
- 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
2026-02-03 11:02:51 +01:00
kevinveenbirkenbach b9bb4a95fd Included other helper command 2026-01-29 14:41:17 +01:00