action.yml or action.yaml) in the repository root. This file defines how GitHub recognizes, configures, and runs your Action.
The metadata file name must be either
action.yml or action.yaml and live at the root of your Action’s repository.Key Definitions
Basic Metadata Example
Inputs and Outputs
- inputs
Define each parameter with:description(required)required(boolean)- Optional:
default,deprecationMessage
- outputs
Define each output with:description(required)
JavaScript Action Metadata
Use this pattern when your Action runs on Node.js:using: Node runtime versionmain: Primary entrypoint filepre/post: Setup and teardown scriptspre-if/post-if: Conditions for running pre/post scripts
Docker Container Action Metadata
Container Actions package dependencies in a Docker image:using: Must bedockerimage: Path toDockerfileor registry imageargs: Array of arguments passed to the containerpre-entrypoint/post-entrypoint: Hooks around the container’s entrypoint
Composite Action Metadata
Composite Actions let you chain shell commands and other Actions:using: Must becompositesteps: List of step objects, each withrunoruses- Optional:
shellto specify interpreter
Action Types Comparison
Links and References
- GitHub Actions Metadata Syntax
- Creating a JavaScript Action
- Implementing a Docker Container Action
- Composite Run Steps Action