mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-09 12:17:13 +00:00
The workflow directory mixed entry points, reusable stages and scheduled jobs into one flat list sorted by topic, so the first question about any file - what starts it - was the one the name did not answer. Every workflow now carries one of three prefixes, derived from its on: block: cron- for a schedule trigger, call- for one only reachable through workflow_call, entry- for everything a repository event or a human starts. Scheduled workflows additionally carry an alarm clock as the first character of their name. Two lints keep it that way. One derives the expected prefix from the triggers and compares it against the file name; it flagged all 17 offenders before the rename and none after. The other resolves every .github/workflows/<file> string in the repository against the directory, which is what a rename silently breaks in Markdown links, Python constants and shell API URLs alike. Renaming pulled 69 pre-existing comments into the comment lint's changed-file scope. The vendored CodeQL template got the nocheck marker its scorecard sibling already carried, two workflow headers moved above name: where they count as file headers, and the remaining banners were deleted. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
70 lines
2.1 KiB
YAML
70 lines
2.1 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: ""
|
|
filesystem:
|
|
description: "🗄️ Space-separated filesystems the per-distro pick draws from (ext4, btrfs, zfs). Empty: all three."
|
|
required: false
|
|
type: string
|
|
default: ""
|
|
|
|
permissions:
|
|
contents: read
|
|
packages: read
|
|
|
|
jobs:
|
|
compose:
|
|
name: 📦 Compose
|
|
if: ${{ contains(inputs.modes, 'compose') }}
|
|
uses: ./.github/workflows/call-test-deploy-compose.yml
|
|
with:
|
|
distros: ${{ inputs.distros }}
|
|
whitelist: ${{ inputs.whitelist }}
|
|
lifecycles: ${{ inputs.lifecycles }}
|
|
blacklist: ${{ inputs.blacklist }}
|
|
marker: ${{ inputs.marker }}
|
|
filesystem: ${{ inputs.filesystem }}
|
|
|
|
host:
|
|
name: 💻 Host
|
|
if: ${{ contains(inputs.modes, 'host') }}
|
|
uses: ./.github/workflows/call-test-deploy-host.yml
|
|
with:
|
|
distros: ${{ inputs.distros }}
|
|
whitelist: ${{ inputs.whitelist }}
|
|
lifecycles: ${{ inputs.lifecycles }}
|
|
blacklist: ${{ inputs.blacklist }}
|
|
marker: ${{ inputs.marker }}
|
|
filesystem: ${{ inputs.filesystem }}
|
|
exclude_compose_covered: ${{ contains(inputs.modes, 'compose') && 'true' || 'false' }}
|