Action runners in the context of GitHub and GitLab typically refer to the environments where automation scripts, known as actions, are executed. Below is an outline of the formal input data structure expectations for major action runners on GitHub, GitLab, and a locally runnable Docker engine.
GitHub Actions:
- Workflow File:
- Format: YAML (.yml)
- Location: .github/workflowsin the repository.
- Contents: Specifies jobs, their execution order, and associated actions.
 
- Job File:
- Format: YAML (.yml)
- Location: Within the workflow file.
- Contents: Defines a set of steps to be executed, including action references.
 
- Action Input:
- Format: YAML (.yml)
- Location: Specified in the job file.
- Contents: Parameters or inputs required by an action.
 
GitHub Actions Runner (Local):
- Runner Configuration:
- Format: JSON (.json) or YAML (.yml)
- Location: Configured during runner setup.
- Contents: Includes runner settings, connection details, and capabilities.
 
- Job File:
- Format: YAML (.yml)
- Location: Specified during job execution.
- Contents: Similar to GitHub Actions workflow job file.
 
GitLab CI/CD:
- CI/CD Configuration:
- Format: YAML (.yml)
- Location: .gitlab-ci.ymlin the repository.
- Contents: Describes pipelines, jobs, and their dependencies.
 
- Job Script:
- Format: Shell script, Dockerfile, or custom executor.
- Location: Specified in the CI/CD configuration.
- Contents: Commands and logic to be executed in a job.
 
- Variables and Artifacts:
- Format: Defined in CI/CD configuration.
- Location: CI/CD configuration file.
- Contents: Variables for dynamic values, artifacts for passing data between jobs.
 
GitLab Runner (Local):
- Runner Configuration:
- Format: Config.toml or .gitlab-runner/config.toml
- Location: Configured during runner setup.
- Contents: Specifies runner details, executor type, and other settings.
 
- Job Script:
- Format: Shell script, Dockerfile, or custom executor.
- Location: Executed by the runner during a job.
- Contents: Similar to GitLab CI/CD job script.
 
Locally Runnable Engine (Docker Container):
- Dockerfile:
- Format: Dockerfile
- Location: Root of the project or specified location.
- Contents: Instructions for building a Docker image, including dependencies.
 
- Entrypoint Script:
- Format: Shell script or language-specific script.
- Location: Inside the Docker image.
- Contents: Specifies actions to be performed when the container starts.
 
Summary:
- GitHub Actions: Uses YAML files for workflows, jobs, and action inputs.