Definition: A workflow is a configurable automated process that you define in your GitHub repository. It consists of one or more jobs that can run on specified events.
Example Events: Push to a branch, pull requests, release creation, etc.
Structure: A typical workflow is defined using a YAML file stored in .github/workflows/ directory in your repo.
Key Workflow Components:
Trigger: Events that start the workflow (e.g., push, pull_request, schedule).
Jobs: A job is a collection of steps executed by the runner in an environment.
Steps: Each step represents a single task, like running a script or executing a GitHub Action.
What are GitHub Runners?
Runners are the servers or environments that execute the jobs in your workflows. They can either be GitHub-hosted or self-hosted.
Types of Runners:
GitHub-hosted runners: These are maintained by GitHub and come preconfigured with popular tools and environments (e.g., Node.js, Python, Docker).