mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-08 03:38:23 +00:00
When a run deploys both single-node modes, the host discovery redeployed roles the compose line already covers (e.g. web-svc-html in both matrices). The single-node workflow now signals a co-running compose line via INFINITO_HOST_EXCLUDE_COMPOSE (a run-context registry key like INFINITO_DEPLOY_MODE), and the host query excludes the compose line's actually-triggered selection before its own budget cut, so freed host slots go to roles compose does not cover. Priority and regular lines each filter against their own compose counterpart through the identical whitelist/blacklist pass-through; host-only runs stay unchanged. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
63 lines
1.8 KiB
YAML
63 lines
1.8 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)."
|
|
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: ""
|
|
marker:
|
|
description: "Optional suffix appended to the discover job names (e.g. ' ⭐' for the priority line)"
|
|
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 }}
|
|
marker: ${{ inputs.marker }}
|
|
|
|
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 }}
|
|
marker: ${{ inputs.marker }}
|
|
exclude_compose_covered: ${{ contains(inputs.modes, 'compose') && 'true' || 'false' }}
|