A free, self-paced textbook in 7 chapters. Read a chapter, then drill it with the 120 companion flashcards using spaced repetition.
GitHub Actions is a CI/CD and workflow automation platform built directly into GitHub. It allows you to run jobs in response to repository events using workflows that are defined i...
Every workflow must begin with an on: clause that lists the events which cause it to run. Common triggers include push, pull_request, and workflow_dispatch. The workflow_dispatch e...
A job is identified by a key under jobs: and is configured with runs-on: to declare which runner label it should use, such as ubuntu-latest. Jobs run in parallel by default, but yo...
Environment variables can be set at three scopes. A step-level env: block applies only to that step, a job-level env: applies to all steps within the job, and a workflow-level env:...
Every workflow run is automatically provisioned with a GITHUB_TOKEN, which is used to authenticate with the GitHub API. The default scope of this token is read-only on most permiss...
Workflows often need to share files between jobs or expose build outputs for download. Artifacts serve this role: actions/upload-artifact@v4 stores files under a name: and path:, a...
GitHub Actions supports reuse at two levels. Within a single workflow, an action invoked at the step level with uses: is a reusable unit of work, with inputs passed through with: a...