Why GitHub Actions?
For most of CI's history, the pipeline lived on a separate server — a Jenkins box someone maintained, connected to your repo by webhooks and hope. GitHub Actions collapsed that distance to zero: the automation lives in the repo, as YAML files, versioned and reviewed like the code it tests, running on machines GitHub provides. If your code is on GitHub, CI is now a file away.
💡 The Bottom Line
GitHub Actions runs workflows (YAML files in
.github/workflows/) in response to events (a push, a PR, a
schedule) on runners (fresh VMs GitHub hosts — free for public repos, with
a generous free tier for private ones). A marketplace of reusable actions
means most steps are one line, already written by someone else.
What makes it different
- Zero infrastructure — no CI server to install, patch, or resurrect. Each job gets a fresh Ubuntu (or Windows/macOS) VM that vanishes afterward — the disposable, declared build environment that Lesson 5 of the CI/CD track said to want, by default.
- Config lives with code — the workflow file rides in the repo: branches
can change their own CI, PRs show pipeline changes as reviewable diffs, and history is
git log. - The Marketplace — thousands of published actions:
actions/checkoutclones your repo,actions/setup-nodeinstalls Node, others deploy to AWS or publish packages. Pipelines assemble instead of being written from scratch. - Deep GitHub integration — results appear as checks on commits and PRs, and can block merging until green (branch protection). The "keep main green" contract from the CI/CD track, mechanically enforced.
Not just CI: repo automation generally
Because workflows react to any repo event, teams use Actions well beyond build-and-test: greeting first-time contributors, labeling issues, closing stale PRs, publishing releases when a tag is pushed, rebuilding a website nightly on a schedule. Mental model: "when X happens in the repo, run these commands" — CI/CD is just the most valuable X.
🙋 There Are No Dumb Questions
Q: What does it cost?
A: Public repos: free, genuinely — unlimited minutes on GitHub-hosted runners. Private
repos: a free monthly allowance of runner minutes (2,000 on the free plan), then pay per
minute — with macOS runners burning minutes 10× faster than Linux, a classic surprise bill.
Heavy private usage can also bring your own machines as self-hosted runners at no
per-minute cost. For learning: use a public repo and think about pricing never.
⚠️ Watch Out
Actions from the Marketplace are third-party code running with access to your repository
— treat them like any dependency. Prefer actions from verified publishers (the
actions/ namespace is GitHub's own), skim what an unknown action actually does,
and pin versions (@v4, or a commit SHA for the cautious). Lesson 6 returns to
this with the fork-PR secrets story.
🔧 Try It Yourself
See a workflow run before writing one. In any GitHub repo you own (make a scratch public one if needed), go to the Actions tab — GitHub offers starter workflows. Pick "Simple workflow," commit it unchanged, and watch it run under Actions. Click into the run, expand the steps, read the logs. That green checkmark is the whole feedback loop — next lesson you'll write the file behind it from scratch.
✅ Quick Check
Where does a GitHub Actions pipeline's configuration live?
Next up: the anatomy — workflows, jobs, steps, and runners, and your first hand-written workflow file.