mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-09 20:26:33 +00:00
test-deploy-single-node.yml bundles the compose and host deploy tests behind one reusable workflow; the orchestrator gains a priority input that deploys focus roles first per mode and runs the remaining roles only after every priority job succeeded, excluded via the new INFINITO_BLACKLIST discovery filter in apps.sh. entry-manual exposes the priority field and treats priority-only dispatches as roles-only. Workflow dependency diagram added under .github/workflows/README.md. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
55 lines
1.5 KiB
YAML
55 lines
1.5 KiB
YAML
name: "🏝️ Test: Deploy (single-node)"
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
distros:
|
|
description: "Space-separated distro list"
|
|
required: true
|
|
type: string
|
|
whitelist:
|
|
description: "Optional space-separated whitelist of app ids"
|
|
required: false
|
|
type: string
|
|
default: ""
|
|
lifecycles:
|
|
description: "Lifecycle envelope for discovery (comma/space-separated). Empty: default (alpha beta rc stable)."
|
|
required: false
|
|
type: string
|
|
default: ""
|
|
modes:
|
|
description: "Single-node deploy modes to run (space-separated subset of 'compose host')."
|
|
required: false
|
|
type: string
|
|
default: "compose host"
|
|
blacklist:
|
|
description: "Optional space-separated app ids to drop from discovery"
|
|
required: false
|
|
type: string
|
|
default: ""
|
|
|
|
permissions:
|
|
contents: read
|
|
packages: read
|
|
|
|
jobs:
|
|
compose:
|
|
name: 📦 Compose
|
|
if: ${{ contains(inputs.modes, 'compose') }}
|
|
uses: ./.github/workflows/test-deploy-compose.yml
|
|
with:
|
|
distros: ${{ inputs.distros }}
|
|
whitelist: ${{ inputs.whitelist }}
|
|
lifecycles: ${{ inputs.lifecycles }}
|
|
blacklist: ${{ inputs.blacklist }}
|
|
|
|
host:
|
|
name: 🖥️ Host
|
|
if: ${{ contains(inputs.modes, 'host') }}
|
|
uses: ./.github/workflows/test-deploy-host.yml
|
|
with:
|
|
distros: ${{ inputs.distros }}
|
|
whitelist: ${{ inputs.whitelist }}
|
|
lifecycles: ${{ inputs.lifecycles }}
|
|
blacklist: ${{ inputs.blacklist }}
|