Skip to content

Commit 483bab0

Browse files
frostebiteclaude
andcommitted
feat(orchestrator): middleware pipeline — composable trigger-aware hooks
Add a middleware system that wraps around build pipeline phases with before/after semantics, built on the existing command hook and container hook fundamentals. Middleware supports rich trigger conditions (phase, provider, platform, environment expressions), priority-based ordering with wrapping semantics, and both inline YAML and file-based definitions from game-ci/middleware/. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 488c259 commit 483bab0

File tree

10 files changed

+1388
-5
lines changed

10 files changed

+1388
-5
lines changed

action.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -387,6 +387,21 @@ inputs:
387387
description:
388388
'Path to an external CLI executable that implements the provider protocol. Enables providers written in any
389389
language (Go, Python, Rust, shell). Uses JSON-over-stdin/stdout communication.'
390+
middleware:
391+
required: false
392+
default: ''
393+
description:
394+
'[Orchestrator] Inline YAML middleware pipeline definitions. Middleware wraps around build phases with
395+
before/after semantics, supports trigger conditions (phase, provider, platform, environment expressions), and
396+
resolves to either command hooks (inline in build container) or container hooks (separate Docker containers).
397+
Middleware executes in priority order — lower priority values run first for before phases and last for after
398+
phases (wrapping pattern). See documentation for full YAML format.'
399+
middlewareFiles:
400+
required: false
401+
default: ''
402+
description:
403+
'[Orchestrator] Comma-separated list of middleware file names (without extension) to load from the
404+
game-ci/middleware/ directory in your repository. Each file should contain YAML middleware definitions.'
390405

391406
outputs:
392407
volume:

0 commit comments

Comments
 (0)