GitHub Actions - The Complete Guide

Learn how to build automated CI / CD workflows with GitHub's DevOps service.

Course Overview

About This Course

You’ve got code to ship, tests to run, and repetitive repo chores that keep stealing time. You know automation would help—but stitching it together reliably (and safely) can feel like a maze of YAML, triggers, and “why didn’t this run?” moments.

In this course, you’ll get a clear, practice-oriented path into GitHub Actions. You’ll work through concrete examples that show how workflows are structured, how they react to events, and how to scale from a quick automation to a multi-step pipeline without losing control.

By the end, you’ll be able to design and run automated processes for testing, building, deployment, and repository/project tasks. You’ll know how to make workflows adapt to different situations, integrate existing community solutions, and keep your automation secure as it grows.

What You'll Learn

You’ll cover the core building blocks of GitHub Actions and turn them into event-driven workflows that handle CI/CD, automation, and secure execution.

  • Design event-driven workflows

    Create workflows that run on a broad variety of triggers, and configure event details so the right automation runs at the right time—whether it’s a simple task or a multi-job process.

  • Orchestrate multi-job pipelines

    Build and coordinate simple and complex workflows by combining jobs and steps into a coherent process you can maintain as projects and requirements grow.

  • Control execution conditions

    Run jobs or individual steps conditionally so your workflows react to context and outcomes—avoiding wasted runs and ensuring the pipeline follows the correct path.

  • Manage data between steps

    Work with environment variables and handle job results, outputs, and inputs so information flows cleanly through your workflow instead of getting hard-coded or lost.

  • Implement CI/CD automation

    Set up powerful CI/CD workflows that include runtime configuration and conditional execution, so testing, building, and deployment can happen automatically and consistently.

  • Extend and secure Actions

    Leverage public community Actions or build custom Actions when you need something specific, and apply workflow and job security practices to protect your automation.

Ready to get started?

See enrollment options

Prerequisites

  • Basic Git and GitHub knowledge is strongly recommended (a refresher module is included).

  • Basic development knowledge helps, but it’s not strictly required.

  • No prior GitHub Actions experience is needed.

Who Is This Course For?

  • Software developers

    You want to explore DevOps solutions and stop doing repetitive build, test, and repo tasks by hand. This course gives you a practical way to automate your day-to-day work inside GitHub.

  • DevOps practitioners

    You’re beginner or already experienced, but GitHub Actions hasn’t clicked yet—or you haven’t used it in a structured way. You’ll leave with a workflow-first approach you can apply across projects.

  • Automation seekers

    You’re mainly trying to automate code-based tasks and processes, but you don’t want to become an “advanced everything” engineer first. This course meets you where you are and builds confidence through concrete examples.

Curriculum Overview

Start Now

Preview the structure and pacing of this course before you begin.

  • Getting Started6 lectures13m
    • 01Welcome to the Course!1:09 min
    • 02What Is "GitHub Actions"?3:39 min
    • 03Git, GitHub & GitHub Actions5:17 min
    • 04About This Course3:44 min
    • 05Join The Discord Community!0:00 min
    • 06Course Code Attachments & Slides0:00 min
  • Git & GitHub Crash Course [Optional]26 lectures1h 59m
    • 01Module Introduction1:28 min
    • 02Getting Started with Git3:12 min
    • 03Configuring Git0:00 min
    • 04Project Setup1:55 min
    • 05Working with (Local) Git Repositories4:19 min
    • 06Staging Files & Creating Commits6:52 min
    • 07Multiple Commits & Checking Out Snapshots7:46 min
    • 08Reverting Changes with "git revert"3:50 min
    • 09Resetting Code with "git reset"2:14 min
    • 10Staging Multiple Files & Ignoring with gitignore5:32 min
    • 11Understanding Branches5:08 min
    • 12Working with Branches3:37 min
    • 13Merging Branches8:31 min
    • 14GitHub Introduction2:29 min
    • 15Creating a GitHub Account3:18 min
    • 16Creating a (Remote) GitHub Repository-repository2:04 min
    • 17Connecting Local & Remote Repositories2:48 min
    • 18Pushing Commits & Understanding Permissions6:01 min
    • 19GitHub & Branches6:02 min
    • 20Readme Files & Pulling Changes5:39 min
    • 21Cloning Repositories8:44 min
    • 22Making Changes As A Different User (Non-Owner)1:50 min
    • 23GitHub Issues & Collaborators9:02 min
    • 24Working with Pull Requests8:01 min
    • 25Understanding & Using Forks8:42 min
    • 26Module Summary0:42 min
  • GitHub Actions - Basic Building Blocks & Components20 lectures1h 39m
    • 01Module Introduction1:24 min
    • 02Key Components: Workflows, Jobs, Steps & More5:31 min
    • 03GitHub Actions: Availability & Pricing0:00 min
    • 04Creating a First Workflow10:58 min
    • 05Running the First Workflow3:44 min
    • 06Running Multi-Line Shell Commands0:00 min
    • 07Onwards to a More Realistic Example6:55 min
    • 08A New Workflow & The "push" Event7:32 min
    • 09Using Actions In Workflows4:35 min
    • 10Checking Out Code In Workflows3:10 min
    • 11Configuring Actions2:29 min
    • 12Adding More Workflow Job Steps4:32 min
    • 13Failing Workflows & Analyzing Workflows3:45 min
    • 14Adding Multiple Jobs6:03 min
    • 15Jobs: In Parallel vs Sequential3:48 min
    • 16Using Multiple Triggers (Events)2:41 min
    • 17Expressions & Context Objects7:02 min
    • 18Module Summary3:52 min
    • 19Time to Practice: The Problem3:38 min
    • 20Time to Practice: Solution17:50 min
  • Workflows & Events - Deep Dive10 lectures38m
    • 01Module Introduction1:10 min
    • 02Which Events Can You Use?1:37 min
    • 03A Demo Project Setup2:28 min
    • 04More on the "push" Event1:39 min
    • 05Introducing Event Filters & Activity Types2:00 min
    • 06Using Activity Types8:26 min
    • 07Using Event Filters7:16 min
    • 08Special Behavior: Forks & Pull Request Events6:29 min
    • 09Cancelling Workflows & Skipping Workflows4:32 min
    • 10Module Summary2:52 min
  • Job Artifacts & Outputs13 lectures51m
    • 01Module Introduction0:45 min
    • 02Demo Project Setup1:47 min
    • 03Understanding Job Artifacts3:09 min
    • 04Artifacts - An Example2:57 min
    • 05Uploading Job Artifacts4:50 min
    • 06Downloading Artifacts (Manually & Automatically)5:23 min
    • 07Understanding Job Outputs1:42 min
    • 08Job Outputs - An Example8:51 min
    • 09Using Job Outputs In Other Jobs3:38 min
    • 10The Need For Dependency Caching4:41 min
    • 11Caching Dependencies in Practice9:03 min
    • 12Using & Invalidating Caches2:06 min
    • 13Module Summary2:18 min
  • Using Environment Variables & Secrets9 lectures36m
    • 01Module Introduction0:48 min
    • 02Project Setup & Understanding Environment Variables4:42 min
    • 03Providing Environment Variable Values3:44 min
    • 04Demo: Creating a Database & Using Database Environment Variable Values3:30 min
    • 05Using Environment Variables in Code & Workflows8:06 min
    • 06Default Environment Variables0:00 min
    • 07Understanding & Using Secrets5:39 min
    • 08Utilizing Repository Environments7:30 min
    • 09Module Summary2:17 min
  • Controlling Workflow & Job Execution16 lectures1h 11m
    • 01Module Introduction2:06 min
    • 02Understanding Conditional Steps & Jobs0:54 min
    • 03Demo Project Setup1:52 min
    • 04Understanding a (Potential) Problem: A Failing Step3:14 min
    • 05Controlling Execution via "if"7:30 min
    • 06Working with Special Conditional Functions3:08 min
    • 07Conditional Jobs5:08 min
    • 08More "if" Examples5:51 min
    • 09Ignoring Errors & Failures with "continue-on-error"6:11 min
    • 10Understanding & Using Matrix Strategies7:33 min
    • 11Including & Excluding Values (Matrix Strategy)2:47 min
    • 12Saving Time & Code with Reusable Workflows7:24 min
    • 13Adding Inputs to Reusable Workflows7:25 min
    • 14Reusable Workflows & Secrets1:47 min
    • 15Reusable Workflows Outputs6:42 min
    • 16Module Summary2:11 min
  • Jobs & Docker Containers9 lectures39m
    • 01Module Introduction0:53 min
    • 02What Are Containers?1:46 min
    • 03Why Might You Want To Use Containers (With GitHub Actions)?4:03 min
    • 04Demo Project Setup & A Dockerfile7:02 min
    • 05Run Jobs In Containers7:53 min
    • 06Service Containers - Theory3:40 min
    • 07Adding Services (via Service Containers)6:24 min
    • 08Communication between Jobs & Service Containers6:15 min
    • 09Module Summary2:02 min

And 3 more sections in the full course.

Ready to Get Started?

Choose the option that works best for you.

Single Course

GitHub Actions - The Complete Guide

One Payment. Lifetime Access.

$89one-time

  • One-time payment
  • All future updates for this course
  • Downloadable resources & code
  • Certificate of completion
  • Hands-on exercises & projects
  • Self-paced learning
  • English captions on all videos
  • Lifetime access