Reusable Workflows
Manage both sides of GitHub Actions reusability — producers and consumers — and keep them synchronized.
Table of contents
Overview
GitHub Actions supports reusable workflows — workflow files that define a workflow_call trigger and can be invoked by other workflows using the uses: directive. ActionsManager manages both sides:
- Reusable Workflows (Producers) — the centrally defined workflows that encode your organization’s standards
- Caller Workflows (Consumers) — the per-repository workflows that invoke reusable workflows via
uses:
Managing only one side leaves gaps: updating producers without updating consumers causes drift; managing consumers without versioning producers leads to duplication. ActionsManager manages both sides together.
Reusable Workflow Projects (Producers)
A Reusable Workflow Project in ActionsManager manages the repository that defines and publishes shared workflow definitions.
With a producer project you can:
- Author and version reusable workflow YAML
- Track which repositories (consumers) reference the reusable workflow
- See which consumers are in sync vs. drifted against the current reusable workflow version
Caller Workflow Projects (Consumers)
A Caller Workflow Project manages the repositories whose workflows call the reusable workflow.
With a consumer project you can:
- Generate and distribute caller workflows across many repositories
- Keep
uses:references aligned with the current reusable workflow version - Roll out reference updates through PR campaigns when the producer changes
End-to-End Flow
A typical producer-to-consumer update cycle:
- Update the reusable workflow in the producer repository (e.g., bump a version or change inputs)
- ActionsManager detects which caller workflows across all consumer projects reference the updated reusable workflow
- Create a PR campaign — each affected repository receives a pull request updating its caller workflow to the new version
- Merge or sync the PRs individually, in bulk, or via direct commit
- Drift detection confirms that all consumers are back in sync with the producer
Inputs and Outputs
Reusable workflows define inputs: and outputs: that caller workflows must provide. ActionsManager:
- Tracks the inputs/outputs defined by the reusable workflow
- Validates that generated caller workflows provide the required inputs
- Surfaces mismatches when a reusable workflow changes its interface
Related Topics
- Projects — project types for producer and consumer management
- Workflows — workflow management and delivery
- Drift Detection — keep producers and consumers in sync
- PR Campaigns — roll out producer changes to consumers