Skip to main content

Choosing what your workflow does

Workflows automate tasks in your software development lifecycle. Many tasks that you manually complete can be converted to a GitHub Actions workflow.

Using jobs in a workflow

Use workflows to run multiple jobs.

Finding and customizing actions

Actions are the building blocks that power your workflow. A workflow can contain actions created by the community, or you can create your own actions directly within your application's repository. This guide will show you how to discover, use, and customize actions.

Using GitHub CLI in workflows

You can script with GitHub CLI in GitHub Actions workflows.

Workflow commands for GitHub Actions

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

Adding scripts to your workflow

You can use GitHub Actions workflows to run scripts.

Assigning permissions to jobs

Modify the default permissions granted to GITHUB_TOKEN.

Expressions

You can evaluate expressions in workflows and actions.

Variables

GitHub sets default variables for each GitHub Actions workflow run. You can also set custom variables for use in a single workflow or multiple workflows.

Contexts

You can access context information in workflows and actions.

Defining outputs for jobs

Create a map of outputs for your jobs.

Setting default values for jobs

Define the default settings that will apply to all jobs in the workflow, or all steps in a job.

Using environments for deployment

Specify a deployment environment in your workflow.

Using concurrency

Run a single job at a time.

Using a matrix for your jobs

Create a matrix to define variations for each job.

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.