Github Actions Cheat Sheet

Accelerate your workflow with our GitHub Actions cheat sheet.

General

Command Description
.github/workflows/ Directory to store GitHub Actions workflows.
on: Specify events that trigger the workflow.
name: Assign a name to the workflow.
jobs: Define one or more jobs in the workflow.
runs-on: Specify the runner for the job (e.g., ubuntu-latest).
steps: Define a sequence of steps within a job.
uses: Use an action from the GitHub Marketplace or another repository.
with: Set input parameters for an action.
env: Define environment variables for the job.
if: Conditionally execute a step or job based on an expression.
jobs.<job_id>.outputs.<output_name> Reference outputs from one job in another.
jobs.<job_id>.needs Specify jobs that must complete successfully before the current job runs.
jobs.<job_id>.strategy Define a matrix of values for a job matrix build.
workflow_run Trigger a workflow based on another workflow's completion.
github.event Access information about the event that triggered the workflow.
github.repository Access information about the repository where the workflow is running.
github.sha Access the commit SHA that triggered the workflow.
github.token Access a token to authenticate with GitHub.
jobs.<job_id>.steps.<step_id>.continue-on-error Continue with the next step even if the current step fails.
jobs.<job_id>.container Define a Docker container to run the job in.
env: Set environment variables for the entire workflow.
jobs.<job_id>.outputs Define outputs for a job.
jobs.<job_id>.timeout-minutes Set a maximum execution time for a job.
jobs.<job_id>.runs-on: Specify a different runner for a specific job.
on: push Trigger the workflow on push events.
on: pull_request Trigger the workflow on pull request events.
workflow_dispatch: Manually trigger the workflow using the GitHub Actions UI.
workflow_run: Trigger a workflow based on another workflow's completion.
if: github.event_name == 'push' && github.ref == 'refs/heads/main' Example conditional execution based on event and branch.
jobs.<job_id>.continue-on-error: ${{ needs.<dependency>.result }} Continue with the next job even if the dependency job fails.
jobs.<job_id>.steps.<step_id>.with Set input parameters for a specific step.
jobs.<job_id>.runs-on: ${{ matrix.os }} Example matrix build for different operating systems.
jobs.<job_id>.strategy.matrix Define a matrix of values for a job matrix build.