Skip to main content
GitHub 🇺🇸 · 7 min read

How to Pass GitHub Actions Certification in 2026: Complete Study Guide

Complete GitHub Actions Certification study guide for 2026. Covers all 5 exam domains, the format ($250, ~65 questions, 120 min), workflow YAML, runners, reusable workflows, OIDC, and a 4-week study plan.

GitHub Actions has become the default CI/CD platform for millions of developers who want automation that lives right next to their code. If you are serious about demonstrating that expertise with a recognized credential, the GitHub Actions Certification is the exam to target in 2026. It tests your ability to build, maintain, and secure real-world GitHub Actions workflows — not just memorize YAML syntax. This guide walks you through every domain, the exam format, the concepts that appear most often, and a practical 4-week study plan that will get you ready without burning out.

Exam Format and Registration

The GitHub Actions Certification is administered by GitHub (a Microsoft subsidiary) through their official certification program. Here are the key facts you need before you book:

Detail Value
Price$250 USD
Number of questions~65 multiple-choice and multi-select
Time limit120 minutes
Passing score~70% (not officially published)
DeliveryOnline proctored via PSI
Validity2 years
PrerequisitesNone (recommended: GitHub Foundations)

Register at examregistration.github.com. GitHub offers a free retake policy if you fail on the first attempt within a specified window — check the current terms when you register.

Domain Breakdown and Weights

The exam covers five domains. Understanding the relative weight of each domain tells you where to invest your study time:

Domain Topic Approx. Weight
1Workflows and Triggers~20%
2Jobs, Steps, and Runners~25%
3Actions — Using and Creating~20%
4CI/CD Patterns and Deployment~20%
5Security and Secret Management~15%

Domain 1: Workflows and Triggers

Everything in GitHub Actions starts with a workflow file stored in .github/workflows/. A workflow is a YAML file that defines when automation runs (triggers) and what it does (jobs and steps). This domain tests your ability to write and read workflow YAML correctly.

Key concepts to master:

  • Event triggers: push, pull_request, schedule, workflow_dispatch, workflow_call, release, repository_dispatch
  • Filter patterns: branches, branches-ignore, paths, paths-ignore under each event
  • Manual triggers: workflow_dispatch with typed inputs (string, boolean, choice, environment)
  • Scheduled workflows: cron syntax, UTC timezone, minimum 5-minute interval
  • Workflow reuse: workflow_call makes a workflow callable from other workflows; understand how inputs, outputs, and secrets are passed
  • Concurrency groups: concurrency.group and cancel-in-progress to prevent duplicate runs
💡 Exam Tip: Know the difference between workflow_dispatch (manually triggered by a user) and workflow_call (triggered by another workflow). They look similar in syntax but serve completely different purposes. Exam questions often mix them up deliberately.

Domain 2: Jobs, Steps, and Runners

This is the largest domain and covers how work is actually structured and executed. You need to understand the full job lifecycle, runner types, dependency management between jobs, and how to share data across steps and jobs.

Key concepts to master:

  • Runner types: GitHub-hosted runners (ubuntu-latest, windows-latest, macos-latest) vs self-hosted runners. Know the hardware specs and when self-hosted is required (private networks, custom software, cost optimization).
  • Job dependencies: needs keyword creates a dependency graph; jobs without needs run in parallel
  • Matrix builds: strategy.matrix fans out jobs across combinations of OS, language version, etc. Know include and exclude modifiers.
  • Conditionals: if at the job or step level using expressions like github.event_name == 'push' and status functions (success(), failure(), always(), cancelled())
  • Artifacts: actions/upload-artifact and actions/download-artifact for passing build outputs between jobs or retaining files
  • Caching: actions/cache with a cache key strategy; understand cache hit vs cache miss behavior
  • Outputs: Job outputs passed via $GITHUB_OUTPUT; accessed in downstream jobs via needs.job_id.outputs.key
  • Containers: runs-on with container, or container: and services: keys for sidecar databases
💡 Exam Tip: Matrix builds multiply: a matrix with 3 OS values and 3 language versions creates 9 jobs. exclude removes specific combinations; include adds extra properties to specific combinations or adds entirely new combinations. This shows up in exam scenarios testing your combinatorics intuition.

Domain 3: Actions — Using and Creating

Actions are the reusable building blocks of workflows. You can use actions from the GitHub Marketplace, from other repositories, or from your own repo. More importantly for the exam, you need to know how to create each type of action.

Key concepts to master:

  • Action types: JavaScript actions (run on the runner directly, fastest startup), Docker container actions (custom runtime, any language), Composite actions (wrap existing steps/actions into a reusable unit)
  • action.yml structure: name, description, inputs, outputs, runs. Know the difference in the runs block for each action type.
  • Referencing actions: By SHA (most secure), by tag (@v3), by branch (@main). For security, pinning to a full SHA is the best practice.
  • Composite actions vs reusable workflows: Composite actions run as steps inside a job; reusable workflows run as entire jobs. This distinction is frequently tested.
  • Publishing actions: Actions in public repos are automatically available on the Marketplace if they have a valid action.yml in the root.

Domain 4: CI/CD Patterns and Deployment

This domain shifts from workflow mechanics to deployment strategy. GitHub Actions integrates with environments, deployment APIs, and external cloud providers to support complex release pipelines.

Key concepts to master:

  • Environments: Define deployment targets (development, staging, production) with protection rules — required reviewers, wait timers, and allowed branches
  • Deployment protection rules: Custom deployment protection rules can call external APIs to gate deployments
  • Release triggers: release: types: [published] for production deployments; workflow_dispatch for manual promotion
  • Reusable workflow patterns: Separate CI (build/test) from CD (deploy) using workflow_call; pass environment name as an input
  • Docker image publishing: Build and push to GitHub Container Registry (ghcr.io) or Docker Hub using docker/build-push-action
  • Deployment status: The Deployments API tracks deployment lifecycle; environments show deployment history in the repo UI
💡 Exam Tip: Environment protection rules only apply when the environment: key is specified on a job. A job without environment: skips all protection rules even if an environment with that name exists. Exam scenarios often test this edge case.

Domain 5: Security and Secret Management

Security is the highest-stakes topic on this exam because misconfigurations in real workflows can leak credentials or allow malicious code execution. Expect scenario-based questions here.

Key concepts to master:

  • Secrets scopes: Repository secrets, environment secrets, organization secrets. Environment secrets override org secrets; org secrets can be limited to specific repositories.
  • GITHUB_TOKEN: Automatically generated for each workflow run; permissions are scoped per repository. Default permissions can be read-all or restricted depending on org settings. Always set permissions: explicitly in your workflow.
  • OIDC (OpenID Connect): Instead of storing cloud credentials as long-lived secrets, use OIDC to request short-lived tokens from AWS, Azure, or GCP. Requires id-token: write permission in the workflow.
  • pull_request_target: Runs in the context of the base repo (has access to secrets), not the fork. This is a common security misconfiguration — never checkout untrusted code in a pull_request_target workflow without sandboxing it.
  • Script injection: Never interpolate ${{ github.event.pull_request.title }} directly into a run: shell command — this opens injection attacks. Use environment variables as an intermediary.
  • Third-party action risk: Pin actions to full commit SHAs to prevent supply chain attacks via tag mutable references.

4-Week Study Plan

Week Focus Activities
Week 1Workflows and RunnersRead GitHub Actions docs; create 5 workflows with different triggers; build a matrix build for a Node.js project
Week 2Actions and ReusabilityBuild a composite action; build a JavaScript action; write a reusable workflow with inputs/outputs; practice the composite vs reusable workflow distinction
Week 3CI/CD and SecuritySet up environments with protection rules; configure OIDC for a cloud provider; review GITHUB_TOKEN permission model; practice identifying injection vulnerabilities
Week 4Practice and ReviewTake full practice exams; review weak areas; re-read official GitHub Actions documentation sections you missed; timed mock exam

Passing Tips

  • Read every YAML snippet carefully. Many questions show a workflow snippet and ask what happens. Indentation errors, missing colons, and wrong key placement are deliberate traps.
  • Know the GitHub Actions expression syntax. Expressions use ${{ }} syntax. Contexts include github, env, vars, secrets, needs, inputs, steps, runner. Know which contexts are available in which parts of a workflow.
  • Practice with real repositories. There is no substitute for actually writing workflows. Set up a free GitHub repo and build the patterns described in this guide.
  • Focus on security scenarios. Security questions in Domain 5 tend to be scenario-based with wrong answers that look plausible. If a question involves forks and secrets, think carefully about the trigger type.
  • Time management: With ~65 questions and 120 minutes, you have nearly 2 minutes per question. Do not rush, but flag questions you are unsure about and return to them.
Ready to test your knowledge?

Our GitHub Actions Certification practice exam includes 340 questions covering all 5 domains with detailed explanations for every answer.

Start Practice Exam →

Comments

Sign in to leave a comment.

No comments yet. Be the first!

Comments are reviewed before publication.