Tutorial

GitHub Actions Tutorial

Learn GitHub Actions from scratch: workflow syntax, events and filters, secrets, dependency caching, artifacts, matrix builds, Docker images, and deploying to AWS with OIDC instead of stored keys.

8 lessons in this tutorial

1

Introduction to GitHub Actions

What GitHub Actions is and how it runs your build. Workflows, jobs, steps and runners explained, with a first working pipeline you can commit today.

2

GitHub Actions Workflow Syntax

The YAML that drives a workflow. Events and filters, job dependencies, conditionals, contexts and expressions, explained with the failure each one prevents.

3

GitHub Actions Secrets and Variables

How to store credentials for a workflow without leaking them. Repository, environment and organisation scopes, log masking, and why secrets are unavailable on fork pull requests.

4

Caching Dependencies in GitHub Actions

How actions/cache works, how to write a key that actually hits, and why a cache can make a build slower. With the built-in caching in the setup actions.

5

GitHub Actions Artifacts

How to move files between jobs and keep build output after a run. upload-artifact v4 behaviour, retention, the immutability change, and when to use a cache instead.

6

GitHub Actions Matrix Builds

Run one job across many versions and platforms. Matrix syntax, include and exclude, fail-fast, max-parallel, and how to stop a matrix from multiplying out of control.

7

Build and Push Docker Images with GitHub Actions

Build a container image in CI and push it to GHCR or ECR. Buildx setup, registry login, layer caching that actually works, and sensible tagging.

8

Deploy to AWS from GitHub Actions with OIDC

Replace stored AWS keys with short-lived credentials. The IAM trust policy explained claim by claim, the sub condition that scopes it to your repository, and the errors each mistake produces.