- What's the workflow anatomy?
- File at .github/workflows/name.yml. Triggers (on:), jobs (services), steps (commands). Each step runs in a fresh VM or container.
- What's a minimal useful workflow?
- On push: checkout code, setup Node, npm install, npm test. Four steps cover most CI needs.
- Secrets?
- Set at repo or org level in Settings. Reference as ${{ secrets.NAME }}. Never echo secrets; GitHub auto-masks them in logs.
- Deploy gotchas?
- Permissions (give workflow access to what it needs), environment approvals (for production), and OIDC for cloud deploys instead of long-lived API keys.