Workflows, pipelines, and actions
A workflow in GitHub is a configurable, automated process that consists of different jobs. It can be configured in a YAML file and is stored in the .github/workflows
directory of a repository. A workflow can be used to build and deploy software to different environments or stages and is often called a pipeline in other CI/CD systems.
A job is a part of the workflow that is executed on a configured runner. The runner environment is configured using the runs-on
attribute. Jobs run in parallel by default. They can be executed sequentially by chaining them together using dependencies (using the needs
keyword). A job can run in a specific environment. An environment is a logical grouping of resources. Environments can be shared in multiple workflows and can be protected using protection rules.
A job consists of a sequence of tasks called steps. A step can run a command, script, or GitHub Action. An action is a reusable part of the workflow. Not all...