A GitHub workflow is a configurable automated process defined by a YAML file stored in the .github/workflows directory of a repository. These workflows run one or more jobs on a runner machine and are triggered by events such as code pushes, pull requests, releases, or manual inputs.

Workflows consist of three primary components: events that initiate the process, jobs that execute on a runner (like ubuntu-latest), and steps which are individual scripts or reusable actions. For example, a workflow can automatically build and test code when a pull request is created or deploy an application when a release is published.

  • File Location: Workflows must be placed in the .github/workflows folder with a .yml or .yaml extension.

  • Triggers: Defined using the on key, triggers include push, pull_request, release, schedule, and workflow_dispatch.

  • Execution: Each job runs on a virtual machine (runner) and executes steps sequentially or in parallel.

  • Cost: GitHub Actions workflows are free for public repositories and include a monthly allowance of free minutes for private repositories.

🌐
Idkblogs
idkblogs.com › node › 447 › Setting-Up-GitHub-Action-Workflow-A-Step-by-Step-Guide
Setting Up GitHub Action Workflow: A Step-by-Step Guide
GitHub Workflows are sets of customizable automated processes that you can use to build, test, package, release, and deploy your projects on GitHub.
🌐
GitHub
microsoft.github.io › code-with-engineering-playbook › CI-CD › gitops › github-workflows
GitHub Workflows - Engineering Fundamentals Playbook
A workflow is a configurable automated process made up of one or more jobs where each of these jobs can be an action in GitHub.
🌐
GitHub
docs.github.com › actions › using-workflows › workflow-syntax-for-github-actions
Workflow syntax for GitHub Actions - GitHub Docs
A workflow is a configurable automated process made up of one or more jobs. You must create a YAML file to define your workflow configuration.
🌐
Medium
medium.com › @dmosyan › understanding-the-basics-of-github-actions-7787993d300c
Understanding the basics of GitHub Actions | by David Mosyan | Medium
July 17, 2024 - Actions This is the building block of the workflow. It’s a custom application for the GitHub platform. Use an action to help reduce the amount of repetitive code that you write in your workflow files. Think about that as a script that takes arguments, does something and produces the output.
🌐
GitHub
docs.github.com › actions › sharing-automations › creating-workflow-templates-for-your-organization
Creating workflow templates for your organization - GitHub Docs
This procedure demonstrates how to create a workflow template and metadata file. The metadata file describes how the workflow templates will be presented to users when they are creating a new workflow. If it doesn't already exist, create a new repository named .github in your organization.
🌐
DEV Community
dev.to › github › whats-the-difference-between-a-github-action-and-a-workflow-2gba
What's the difference between a GitHub action and a workflow? - DEV Community
February 23, 2022 - Events include things like creating a pull request, opening an issue, or making a commit. Check the full list of events on the GitHub Docs. A workflow is the 'thing' (or all the things) which happen after a specific other 'thing' (ie.
🌐
Spacelift
spacelift.io › blog › github-actions-workflows
GitHub Actions Workflows: How to Create and Manage
September 5, 2025 - GitHub Actions workflows are automated processes defined in YAML files that run on specified events in a GitHub repository, such as code pushes, pull requests, or scheduled times.
Find elsewhere
🌐
GitHub
docs.github.com › en › actions › reference › workflows-and-actions
Workflows and actions reference - GitHub Docs
Find information about avoiding duplication when creating a workflow by reusing existing workflows and using YAML anchors and aliases. You can create actions to perform tasks in your repository. If you're making a custom action, it will require a metadata file that uses YAML syntax. Find information on the steps GitHub takes to cancel a workflow run.
🌐
Medium
medium.com › @andres.tellez › introduction-to-github-workflows-7aa302b780fe
Introduction to GitHub Workflows. Series on becoming a better Software… | by Andres Felipe Tellez Yepes | Medium
June 20, 2025 - A workflow contains one or more jobs. Each job runs on a virtual environment (called a runner). In our example, we’ll use the ubuntu-latest runner — a GitHub-hosted virtual machine running Ubuntu.
🌐
GitHub
github.com › marketplace › actions › schedule-workflow
Schedule Workflow - GitHub Marketplace
Create a workflow (eg: .github/workflows/schedule.yml) and copy the example below.
🌐
Medium
medium.com › insiderengineering › what-is-github-actions-workflows-f373d9037981
What is GitHub Actions / Workflows? | by Semih Ünal | Insider One Engineering | Medium
December 29, 2023 - Workflow is a YAML file that defines a set of actions that should be performed automatically when a certain event occurs within a project. First of all, to create a GitHub action for our project;
🌐
GitHub
docs.github.com › actions › writing-workflows
Writing workflows - GitHub Docs
Workflows automate tasks in your software development lifecycle. Many tasks that you manually complete can be converted to a GitHub Actions workflow.
🌐
GitHub
docs.github.com › en › rest › actions › workflows
REST API endpoints for workflows - GitHub Docs
You can use this endpoint to manually trigger a GitHub Actions workflow run. You can replace workflow_id with the workflow file name. For example, you could use main.yaml. You must configure your GitHub Actions workflow to run when the workflow_dispatch webhook event occurs.
🌐
GitHub
docs.github.com › actions › deployment › about-deployments › deploying-with-github-actions
Deploying with GitHub Actions - GitHub Docs
You can also use cancel-in-progress to cancel any currently running job or workflow in the same concurrency group. name: Deployment concurrency: group: production cancel-in-progress: true on: push: branches: - main jobs: deployment: runs-on: ubuntu-latest environment: production steps: - name: deploy # ...deployment-specific steps · For guidance on writing deployment-specific steps, see Finding deployment examples. When a GitHub Actions workflow deploys to an environment, the environment is displayed on the main page of the repository.
🌐
Jasonet
jasonet.co › posts › what-are-github-workflows
What are GitHub Workflows? | Jason Etcovitch
January 28, 2019 - GitHub will consider those needs properties before going to run your actions. ... Each action object defines what action is run, what arguments you can pass, even what command is run inside of the action. Some key notes: You can have up to 100 action objects in a workflow
🌐
GeeksforGeeks
geeksforgeeks.org › git › github-actions
GitHub Actions - GeeksforGeeks
January 21, 2026 - The workflow triggers on a push to the main branch, runs a job on an Ubuntu environment, checks out the repository code, and executes a script that prints "Hello, world!". In GitHub Actions, events are the triggers that kick off workflows. These events are specific activities in your repository that lead to the execution of actions.
🌐
GitHub
docs.github.com › actions › using-workflows › about-workflows
Workflows - GitHub Docs
Workflows are defined in the .github/workflows directory in a repository.
🌐
GitHub
docs.github.com › en › get-started › using-github › github-flow
GitHub flow - GitHub Docs
GitHub flow is a lightweight, branch-based workflow. The GitHub flow is useful for everyone, not just developers.