Skip to main content

Using workflows

Creating and managing GitHub Actions workflows.

About workflows

Get a high-level overview of GitHub Actions workflows, including triggers, syntax, and advanced features.

Triggering a workflow

How to automatically trigger GitHub Actions workflows

Manually running a workflow

When a workflow is configured to run on the workflow_dispatch event, you can run the workflow using the Actions tab on GitHub, GitHub CLI, or the REST API.

Disabling and enabling a workflow

You can disable and re-enable a workflow using the GitHub UI, the REST API, or GitHub CLI.

Events that trigger workflows

You can configure your workflows to run when specific activity on GitHub happens, at a scheduled time, or when an event outside of GitHub occurs.

Workflow syntax for GitHub Actions

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.

Workflow commands for GitHub Actions

You can use workflow commands when running shell commands in a workflow or in an action's code.

Avoiding duplication

You can use reusable workflows or composite actions to avoid duplicating the content of workflows.

Reusing workflows

Learn how to avoid duplication when creating a workflow by reusing existing workflows.

Caching dependencies to speed up workflows

To make your workflows faster and more efficient, you can create and use caches for dependencies and other commonly reused files.

Storing workflow data as artifacts

Artifacts allow you to share data between jobs in a workflow and store data once that workflow has completed.

Creating starter workflows for your organization

Learn how you can create starter workflows to help people in your team add new workflows more easily.

Sharing workflows, secrets, and runners with your organization

Learn how you can use organization features to collaborate with your team, by sharing starter workflows, secrets, variables, and self-hosted runners.

Using GitHub CLI in workflows

You can script with GitHub CLI in GitHub Actions workflows.