Basic YAML structure for a workflow.

Section: Workflow skeleton

Minimal workflow file

yaml
yaml
name: CI

on:
  push:
    branches: [main]
  pull_request:

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: echo "Hello from GitHub Actions"
Explanation

Workflows live under `.github/workflows/*.yml` and define triggers, jobs, and steps.

Learn the surrounding workflow

Compare similar commands or jump into common fixes when this command is part of a bigger troubleshooting path.

Related commands

Same sheet · prioritizing Workflow skeleton
Name a workflow clearly
Use a descriptive workflow name.
OpenIn sheetyamlsame section
Run on push to selected branches
Trigger on pushes to specific branches.
OpenIn sheetyamlsame section
Run on pull requests
Trigger on pull requests for review pipelines.
OpenIn sheetyamlsame section
Add a manual run button
Enable workflow_dispatch for manual execution.
OpenIn sheetyamlsame section
Manual run with inputs
Prompt for environment or other runtime parameters.
OpenIn sheetyamlsame section
Run on a cron schedule
Schedule workflows using cron syntax in UTC.
OpenIn sheetyamlsame section