interview-prep
Workflow (one .yml file)
  ├── Triggered by Events (push, pull_request, schedule, workflow_dispatch, etc.)
  └── Contains Jobs (run in parallel by default)
        ├── Runs on a Runner (ubuntu-latest, self-hosted, etc.)
        └── Contains Steps (run sequentially in the same job)
              ├── Action (reusable pre-built unit, e.g., actions/checkout)
              └── Run command (shell command)

My notes