Files
computer-playbook/scripts/github
kevinveenbirkenbachandClaude Opus 4.7 91fadbdcc5 feat(ci): diff-driven app whitelist for deploy tests
Narrow the test-deploy-{server,universal,workstation} matrix to roles
actually impacted by the branch's diff against origin/main, expanded
transitively over run_after + dependencies + shared services.

Why: full-matrix deploy CI on every PR is wasteful; explicit per-PR
whitelisting is error-prone. The resolver derives the affected set
automatically while remaining fail-safe.

Behaviour (in resolve_effective_whitelist.sh precedence order):
- whitelist input "__ALL__"  -> empty whitelist (force full deploy)
- whitelist input non-empty  -> verbatim
- whitelist input empty      -> diff vs origin/main
  - empty diff or any path outside roles/<role>/   -> __ALL__
  - all paths under roles/<role>/                  -> reverse closure

Fail-safe: any seed that is not modellable in CombinedResolver
(no application_id and not referenced by any role's run_after) and
any resolver runtime error MUST trigger a fall-back to __ALL__.
The closure never silently shrinks the deploy matrix.

test-deploy-local.yml is intentionally exempt (local/manual dispatch
keeps explicit whitelist semantics).

Documented in pipeline.md and workflows.md.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-05 22:59:45 +02:00
..

GitHub Workflow Helpers 🔧

This is the SPOT for GitHub workflow helper scripts under scripts/github/. These helpers are called from .github/workflows/. For the repository Make target index, see make.md.

Entry Points 📋

Script What it does Used by
cancel_deleted_branch_runs.sh Cancels active workflow runs for a deleted branch. .github/workflows/delete-branch.yml
cancel_pull_request_runs.sh Cancels active workflow runs for a closed pull request. .github/workflows/cancel-pull-request-runs.yml
check_git_changes.sh Emits a changed=true/false workflow output based on git diff. .github/workflows/update.yml
install_update_python.sh Installs Python dependencies needed by the automated update workflows. .github/workflows/update.yml
open_update_pr.sh Commits update changes, pushes the branch, and creates or refreshes the matching Pull Request. .github/workflows/update.yml
update_docker_image_versions.sh Runs the Docker image version updater CLI from GitHub Actions. .github/workflows/update.yml