Files
computer-playbook/docs/contributing/artefact/files/github/workflow.md
T
kevinveenbirkenbachandClaude Opus 4.7 4f2dd95fe9 feat(ci): add CI_RUN_ON_MAIN gate, reorg actions docs
Add repository variable CI_RUN_ON_MAIN that gates whether pushes to
main trigger CI. When unset (default), pushes to main skip CI;
set to 'true' to enable. Pushes to other branches are unaffected.

Reorganize GitHub Actions docs into a dedicated tools/github/actions/
directory and consolidate every CI repository variable in a single
SPOT (configuration.md). Move actions.md to actions/workflows.md and
branch/configuration.md to actions/configuration.md, then update
every cross-reference. Trim README files to scope-only per
docs/contributing/artefact/files/docs/readme_md.md.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-18 16:31:52 +02:00

2.6 KiB

GitHub workflow files 🔄

This page is the SPOT for repository rules that govern GitHub Actions workflow files under .github/workflows/. For the catalog of every workflow (description, triggers, inputs) see workflows.md. For the script placement rule that applies to extracted shell helpers, see scripst.md.

Naming 🏷️

Every workflow MUST follow the schema "[Emoji] Category: Subject (Qualifier)".

  • You MUST quote the name: value in double quotes because the colon (:) in the name is a reserved YAML character.
  • You MUST place the emoji before the category, never after.
  • You MUST NOT add emojis to docs/agents/ files, but workflow name: fields are not agent files and MUST use emojis.
  • The qualifier in parentheses is OPTIONAL. Use it only when two workflows share the same category and subject.

Emoji legend 📋

Emoji Category Used for
🔄 Update / Sync Automated version or dependency updates
🪞 Mirror Image mirroring between registries
🧹 Images Image cleanup and pruning
🐳 Build Docker image builds
🔍 Lint Static analysis and linting
🔒 Scan Security scanning
⚡ CI CI entry points (push, pull request, manual)
🎵 CI CI orchestration and coordination workflows
🚫 Cancel Run cancellation on PR close or branch delete
🧪 Test Code tests (unit, integration, lint)
💻 Test Development environment tests
💬 Test DNS and network resolution tests
📦 Test Deployment tests
📥 Test Installation tests
🚀 Release Version release workflows

Examples ✅

name: "🧪 Test: Code (Integration)"
name: "🪞 Mirror: Docker Hub → GHCR (only missing)"
name: "🚫 Cancel: PR Runs on Close"

Shell execution 📜

  • Multi-line shell logic in workflow run: blocks MUST be extracted into dedicated .sh files under scripts/.
  • Workflow files MUST call those extracted .sh entry points instead of embedding longer shell programs inline.
  • Short single-command invocations MAY stay inline when they do not contain meaningful control flow.
  • Inline shell in workflow files SHOULD stay limited to small command calls, environment wiring, or direct script invocation.

Separation of concerns 🧩

  • GitHub workflow YAML MUST describe orchestration, permissions, triggers, inputs, and step order.
  • Reusable shell behavior MUST live in script files, not in repeated workflow run: blocks.
  • Non-shell helper logic MUST NOT be embedded as ad-hoc shell blobs inside workflow files.