GitHub Actions – The Complete Guide

Learn how to build automated CI / CD workflows with GitHub’s DevOps service. Build custom actions or leverage public community solutions.

GitHub Actions Course content

11 sections • 142 lectures • 10h 19m total length

Getting Started6 lectures • 14min

  • Welcome to the Course!Preview01:09
  • What Is “GitHub Actions”?Preview03:39
  • Git, GitHub & GitHub ActionsPreview05:17
  • About This CoursePreview03:44
  • Join The Discord Community!00:24
  • Course Code Attachments & Slides00:12

Git & GitHub Crash Course [Optional]26 lectures • 2hr

  • Module Introduction01:28
  • Getting Started with Git03:12
  • Configuring Git00:13
  • Project Setup01:55
  • Working with (Local) Git Repositories04:19
  • Staging Files & Creating Commits06:52
  • Multiple Commits & Checking Out Snapshots07:46
  • Reverting Changes with “git revert”03:50
  • Resetting Code with “git reset”02:14
  • Staging Multiple Files & Ignoring with gitignore05:32
  • Understanding Branches05:08
  • Working with Branches03:37
  • Merging Branches08:31
  • GitHub Introduction02:29
  • Creating a GitHub Account03:18
  • Creating a (Remote) GitHub Repository02:04
  • Connecting Local & Remote Repositories02:48
  • Pushing Commits & Understanding Permissions06:01
  • GitHub & Branches06:02
  • Readme Files & Pulling Changes05:39
  • Cloning Repositories08:44
  • Making Changes As A Different User (Non-Owner)01:50
  • GitHub Issues & Collaborators09:02
  • Working with Pull Requests08:01
  • Understanding & Using Forks08:42
  • Module Summary00:42

GitHub Actions – Basic Building Blocks & Components20 lectures • 1hr 40min

  • Module Introduction01:23
  • Key Components: Workflows, Jobs, Steps & More05:31
  • GitHub Actions: Availability & Pricing00:18
  • Creating a First Workflow10:58
  • Running the First Workflow03:44
  • Running Multi-Line Shell Commands00:16
  • Onwards to a More Realistic Example06:55
  • A New Workflow & The “push” Event07:32
  • Using Actions In Workflows04:35
  • Checking Out Code In Workflows03:10
  • Configuring Actions02:29
  • Adding More Workflow Job Steps04:32
  • Failing Workflows & Analyzing Workflows03:45
  • Adding Multiple Jobs06:03
  • Jobs: In Parallel vs Sequential03:48
  • Using Multiple Triggers (Events)02:41
  • Expressions & Context Objects07:02
  • Module Summary03:52
  • Time to Practice: The Problem03:38
  • Time to Practice: Solution17:50

Workflows & Events – Deep Dive10 lectures • 38min

  • Module Introduction01:10
  • Which Events Can You Use?01:37
  • A Demo Project Setup02:28
  • More on the “push” Event01:39
  • Introducing Event Filters & Activity Types02:00
  • Using Activity Types08:26
  • Using Event Filters07:15
  • Special Behavior: Forks & Pull Request Events06:29
  • Cancelling Workflows & Skipping Workflows04:32
  • Module Summary02:52

Job Artifacts & Outputs13 lectures • 51min

  • Module Introduction00:45
  • Demo Project Setup01:47
  • Understanding Job Artifacts03:09
  • Artifacts – An Example02:57
  • Uploading Job Artifacts04:50
  • Downloading Artifacts (Manually & Automatically)05:23
  • Understanding Job Outputs01:42
  • Job Outputs – An Example08:51
  • Using Job Outputs In Other Jobs03:38
  • The Need For Dependency Caching04:41
  • Caching Dependencies in Practice09:03
  • Using & Invalidating Caches02:06
  • Module Summary02:18

Using Environment Variables & Secrets9 lectures • 37min

  • Module Introduction00:48
  • Project Setup & Understanding Environment Variables04:42
  • Providing Environment Variable Values03:44
  • Demo: Creating a Database & Using Database Environment Variable Values03:30
  • Using Environment Variables in Code & Workflows08:06
  • Default Environment Variables00:14
  • Understanding & Using Secrets05:39
  • Utilizing Repository Environments07:30
  • Module Summary02:17

Controlling Workflow & Job Execution16 lectures • 1hr 12min

  • Module Introduction02:06
  • Understanding Conditional Steps & Jobs00:54
  • Demo Project Setup01:52
  • Understanding a (Potential) Problem: A Failing Step03:14
  • Controlling Execution via “if”07:30
  • Working with Special Conditional Functions03:08
  • Conditional Jobs05:08
  • More “if” Examples05:51
  • Ignoring Errors & Failures with “continue-on-error”06:11
  • Understanding & Using Matrix Strategies07:33
  • Including & Excluding Values (Matrix Strategy)02:47
  • Saving Time & Code with Reusable Workflows07:24
  • Adding Inputs to Reusable Workflows07:25
  • Reusable Workflows & Secrets01:47
  • Reusable Workflows Outputs06:42
  • Module Summary02:11

Jobs & Docker Containers9 lectures • 40min

  • Module Introduction00:53
  • What Are Containers?01:46
  • Why Might You Want To Use Containers (With GitHub Actions)?04:03
  • Demo Project Setup & A Dockerfile07:02
  • Run Jobs In Containers07:53
  • Service Containers – Theory03:40
  • Adding Services (via Service Containers)06:24
  • Communication between Jobs & Service Containers06:15
  • Module Summary02:02

Building & Using Custom Actions20 lectures • 1hr 34min

  • Module Introduction01:58
  • Why Custom Actions?03:32
  • Understanding Different Types of Custom Actions04:15
  • Demo Project Setup01:40
  • Creating Composite Actions08:34
  • Using Custom Actions In Workflows04:17
  • Adding Inputs to Custom Actions06:57
  • Adding Outputs to Custom Actions04:04
  • Custom JavaScript Actions – Getting Started02:14
  • Configuring JavaScript Actions03:30
  • Adding Basic JavaScript Logic09:46
  • Creating a S3 Bucket (for a more advanced, custom Action)04:06
  • Adding Action Inputs04:15
  • Interacting with GitHub Actions Features07:49
  • Custom JavaScript Action: Real Deployment to AWS S308:37
  • JavaScript Actions & Outputs05:00
  • Getting Started with a Custom Docker Action03:10
  • Creating a Custom Docker Action07:21
  • Storing Actions In Repositories & Sharing Actions With Others00:49
  • Module Summary02:12

Security & Permissions11 lectures • 52min

  • Module Introduction01:22
  • Key Security Concerns03:31
  • Undestanding Script Injection Attacks09:54
  • Increasing Actions Safety04:14
  • Understanding Permissions & Potential Issues07:31
  • GITHUB_TOKEN & Managing Permissions06:24
  • More Security Settings03:10
  • Working with Third-Party Permissions & OpenID Connect04:53
  • Example: AWS Permissions01:38
  • Example: AWS Permissions (Continued)09:27
  • More On GitHub Actions Security00:12

Wrap Up2 lectures • 1min

  • Congratulations & Wrap Up00:53
  • Bonus Lecture00:16


  • Basic Git & GitHub knowledge is strongly recommended (but the course offers a refresher module)
  • Basic development knowledge is recommended but not strictly required
  • NO prior GitHub Actions knowledge is required


GitHub Actions is an extremely popular and fast-growing CI / CD automation service offered by GitHub.

This course teaches GitHub Actions from the ground up, without any prior GitHub Actions experience assumed or required.

In order to handle growing development and code complexity and deploy application updates with high frequency, powerful automation platforms and tools are required. As you will learn throughout this course, GitHub Actions is such a platform, enabling you to automate anything from code testing, building and deployment all the way up to GitHub repository and project management.

With this course, you’ll learn:

  • About all key GitHub Actions building blocks & components
  • How to build and orchestrate both simple and complex workflows
  • How to connect workflows to events & configure event details
  • How to run jobs or job steps conditionally
  • How to manage environment variables
  • How to handle job results, outputs and inputs
  • How to leverage community actions
  • How to build custom actions
  • How to secure workflows and jobs
  • And much more!

This course requires no prior GitHub Actions knowledge. You also don’t need to be an advanced developer or Git & GitHub user, though fundamental development and Git knowledge is recommended – though the course does come with a Git & GitHub refresher module.

This course is a practice-oriented courses, exploring all key concepts whilst diving into concrete examples. You’ll build different workflows for multiple projects and requirements.

You will also learn how to interact with GitHub APIs and implement third-party (and custom) Actions into your workflows.

Hash code: 8eb85be494d7e435e00845ecef5406425793338b

Who this course is for:

  • Developers who want to explore DevOps solutions & workflow automation
  • Beginner or advanced DevOps practitioners who want to learn GitHub Actions
  • Everyone who’s looking to automated code-based tasks
Share Post

Leave a Comment