Files
computer-playbook/scripts/tests/deploy/act/app.sh
T
kevinveenbirkenbach 249103bb56 feat(ci): unify local act workflow with CI discovery logic and strict input resolver
- Use docker-up + ci-discover-output for local discover job (same as CI)
- Add strict input resolver (scripts/meta/resolve/input.sh) with enforced env contract
- Ensure ONLY_APP is always defined (may be empty, but never unset)
- Expose resolved inputs as workflow outputs for linear matrix deploy
- Enforce linear matrix execution via max-parallel: 1
- Align act helper scripts with linear matrix semantics

https://chatgpt.com/share/6970ba64-8c2c-800f-bb90-7edbe9168582
2026-01-21 12:37:03 +01:00

32 lines
1.0 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
# Run local deploy workflow via act for a single app (linear matrix)
# Required:
# APP e.g. web-app-nextcloud
# TEST_DEPLOY_TYPE server|workstation|universal
# INFINITO_DISTRO e.g. arch, debian, ubuntu
: "${APP:?APP is not set (e.g. APP=web-app-nextcloud)}"
: "${TEST_DEPLOY_TYPE:?TEST_DEPLOY_TYPE is not set (server|workstation|universal)}"
: "${INFINITO_DISTRO:?INFINITO_DISTRO is not set (e.g. arch, debian, ubuntu)}"
case "${TEST_DEPLOY_TYPE}" in
server|workstation|universal) ;;
*)
echo "Invalid TEST_DEPLOY_TYPE: ${TEST_DEPLOY_TYPE}" >&2
echo "Allowed: server | workstation | universal" >&2
exit 2
;;
esac
echo "=== act: deploy local (type=${TEST_DEPLOY_TYPE}, app=${APP}, distros=${INFINITO_DISTRO}) ==="
act workflow_dispatch \
-W .github/workflows/test-deploy-local.yml \
--env TEST_DEPLOY_TYPE="${TEST_DEPLOY_TYPE}" \
--env DISTROS="${INFINITO_DISTRO}" \
--env ONLY_APP="${APP}" \
--container-options "--privileged" \
--network host