Study Guid
GitHub Action
G t xam-r ady or your GitHub Action C rti ication ith our
compr h n iv tudy guid . W ’v curat d th ntial
r ourc and l arning activiti to b r pr par you or th
GitHub Action xam and boo t your chanc o ucc .
Audi nc Pro il
Thi xam i d ign d or D vOp ngin r , o t ar d v lop r , and IT pro ional ith int rm diat -
l v l xp ri nc in GitHub Action , including ork lo cr ation, automation, and CI/CD pip lin
manag m nt.
Obj ctiv Domain
An obj ctiv domain or a c rti ication xam, o t n r rr d to a a “domain” or “ xam domain,” i a
tructur d outlin or ram ork that d in th p ci ic kno l dg , kill , and topic that th c rti ication
xam ill cov r. It provid a cl ar roadmap or hat candidat hould xp ct to ncount r on th xam
and hat th y n d to tudy and pr par or.
Th domain provid d in thi tudy guid ar int nd d to provid in ight into th topic cat gori cov r d in
th GitHub Action xam, along ith th l arning obj ctiv ithin ach domain.
Domain Breakdown
Domain 1: Author and maintain work ows
Domain 2: Consume work ows
Domain 3: Author and maintain actions
Domain 4: Manage GitHub Actions for the enterprise
R comm ndation and B t Practic or Succ
To incr a your chanc o ucc in pa ing th GitHub Action xam, it’ ntial to tart ith a olid
oundation o ba ic xp ri nc , xpo ur , and pro ici ncy o GitHub Action . Th r comm nd d l arning
path or thi xam provid you ith an in-d pth tudy o th l arning cont nt, ollo d by hand -on
x rci and pr paration a m nt qu tion that r cr at d to nabl you to in -tun your
kno l dg and r adin or th c rti ication xam.
s
e
f
e
e
e
e
s
e
e
e
e
e
s
w
e
w
s
e
e
e
e
s
w
e
f
e
e
e
e
e
e
e
s
e
s
s
e
e
e
e
e
e
e
s
s
e
e
e
s
s
f
e
e
e
s
e
e
e
e
s
e
e
s
e
e
e
s
f
e
s
f
e
e
e
e
e
f
f
e
e
s
f
fl
e
s
e
e
s
s
s
s
s
e
s
e
e
f
e
w
e
f
e
s
s
s
s
s
e
e
e
e
s
e
f
s
s
e
w
e
fl
w
s
s
s
e
e
e
e
s
e
s
e
e
e
s
f
tt
e
s
e
e
s
e
f
e
e
e
e
e
e
e
f
e
e
s
e
s
s
s
s
e
e
f
e
e
w
s
e
s
f
e
f
e
e
w
e
f
e
f
s
s
s
e
s
s
s
w
f
f
e
e
e
e
e
e
w
e
e
f
e
e
w
s
f
e
f
w
s
f
e
f
e
e
e
s
e
e
e
w
e
f
e
w
e
e
e
e
s
e
s
e
s
s
e
e
s
e
s
e
e
s
s
e
s
e
s
e
s
e
s
e
f
e
e
f
e
s
s
e
e
s
s
e
e
e
w
e
s
f
s
e
w
e
s
e
e
e
e
e
e
e
e
e
w
s
s
e
s
e
e
e
f
e
e
s
e
e
Study Guid GitHub Action
Cont nt R ourc
Th ollo ing r ourc hav b n cr at d in collaboration ith GitHub a r comm nd d cont nt that
cov r th l arning obj ctiv in ach domain or th GitHub Action xam. Both icro o t L arn and
Link dIn L arning provid a compl t l arning path or th xam, but o r a di r nt l arning xp ri nc .
icro o t L arn
Th GitHub Action l arning path on S L arn provid a robu t coll ction o
l arning modul d ign d to pr par you or th GitHub Action xam. Div into
th orld o cod automation ith con id nc a you mbark on a journ y o
building, t ting, and d ploying your proj ct dir ctly rom GitHub. Through
hand -on x rci and a m nt qu tion , th modul ill mpo r you
ith th xp rti n d d to harn th ull pot ntial o GitHub Action in
tr amlining your o t ar d v lopm nt ork lo .
Link dIn L arning
Pr par or th GitHub Action C rti ication ith Link dIn L arning'
compr h n iv vid o ri , Pr par or th GitHub Action C rti ication. Div
into an xt n iv coll ction o modul m ticulou ly d ign d to quip you or
th GitHub Action xam. L arn th intricaci o building, t ting, and d ploying
your cod aml ly rom GitHub' intuitiv plat orm. Engag in hand -on
x rci and thought-provoking a m nt that ill mpo r you ith th
xp rti n d d to ma t r GitHub Action and ortl ly automat your o t ar d v lopm nt
ork lo . (Thi l arning path ill b availabl in Nov mb r, 2023)
Domain 1: Author and maintain ork lo
Work with events that trigger work ows
Con gure work ows to run for one or more events
Con gure work ows to run for scheduled events
Con gure work ows to run for manual events
Con gure work ows to run for webhook events (i.e. check_run, check_suite, deployment, etc.)
Demonstrate a GitHub event to trigger a work ow based on a practical use case
M
w
s
e
e
w
e
e
e
e
e
e
e
e
e
e
fi
fi
fi
fi
w
e
f
f
s
e
s
s
e
e
s
e
e
s
e
w
e
e
s
e
w
e
s
f
e
e
e
f
e
e
s
e
s
f
e
e
e
s
e
e
e
e
s
fl
fl
fl
fl
e
e
e
e
e
e
s
e
s
e
s
e
s
s
s
e
e
e
e
s
s
s
s
s
e
s
e
e
e
e
f
s
e
e
e
e
s
w
f
e
s
e
e
e
s
e
e
e
e
e
e
s
s
s
s
e
e
e
e
s
e
f
s
w
s
s
e
e
e
w
e
e
fl
e
e
e
e
e
e
s
s
s
s
s
e
e
e
e
f
e
e
e
M
e
f
s
s
f
e
s
e
e
fl
e
e
e
w
f
s
e
e
s
e
f
s
s
e
e
e
e
w
w
s
s
f
s
f
e
e
s
e
e
w
f
e
f
s
f
s
e
f
s
e
f
w
f
f
e
e
e
e
e
e
s
e
s
f
e
s
w
s
e
s
e
e
w
e
e
e
s
s
e
e
w
s
s
e
e
w
s
e
e
f
e
s
s
e
e
e
w
s
f
s
f
e
e
e
s
w
e
f
s
e
e
f
e
f
f
f
e
f
w
e
M
e
e
e
e
e
s
e
e
f
e
e
e
e
e
e
e
Study Guid GitHub Action
Use the components of a work ow
Identify the correct syntax for work ow jobs (i.e. indentation and encapsulation of parts of the work ow)
Use job steps for actions and shell commands
Use conditional keywords for steps
Describe how actions, work ows, jobs, steps, runs, and the marketplace work together
Identify scenarios suited for using GitHub-hosted and self-hosted runners
Implement work ow commands as a run step to communicate with the runner
Demonstrate the use of dependent jobs
Use encrypted secrets and environment variables as part of a work ow
Use encrypted secrets to store sensitive information
Identify the available default environment variables during the construction of the work ow
Identify the location to set custom environment variables in a work ow
Identify when to use the GITHUB_TOKEN secret
Demonstrate how to use work ow commands to set environment variables
Create a work ow for a particular purpose
Add a script to a work ow
Demonstrate how to publish to GitHub Packages using a work ow
Demonstrate how to publish to GitHub Container Registry using a work ow
Use database and service containers in a GitHub Actions work ow
Use labels to route work ows to speci c runners
Use CodeQL as a step in a work ow
Demonstrate how to publish a component as a GitHub release using GitHub Actions
Deploy a release to a cloud provider using a GitHub Actions work ow
fl
fl
fl
e
fl
fl
fl
fl
fl
fl
fi
s
fl
fl
fl
fl
fl
fl
fl
fl
Study Guid GitHub Action
Manage work ow runs
Con gure caching of work ow dependencies
Identify steps to pass data between jobs in a work ow
Remove work ow artifacts from GitHub
Add a work ow status badge
Add environment protections
De ne a matrix of di erent job con gurations
Implement work ow approval gates
Domain 2: Con um ork lo
Interpret the e ects of a work ow
Identify the event that triggered a work ow from its e ects in a repository, issue, or pull request
Describe a work ow’s e ects from reading its con guration le
Diagnose a failed work ow run (i.e. using a work ow run history and its logs, determine why a work ow run may have
failed)
Identify ways to access the work ow logs from the user interface
Identify ways to access the work ow logs from GitHub’s REST API
Enable step debug logging in a work ow
Demonstrate how to use default environment variables in a work ow
Demonstrate the correct syntax for passing custom environment variables in a work ow step
Locate a work ow, its logs, and artifacts
Describe where to locate a work ow in a repository
Explain the di erence between disabling and deleting of work ows
Demonstrate how to download work ow artifacts from the user interface
Describe how to use an organization’s templated work ow
fi
fi
fl
ff
fl
fl
ff
fl
fl
fl
ff
e
fl
ff
s
fl
e
fl
fl
fl
fl
w
fi
fl
fl
fl
f
w
fl
s
s
fi
fl
ff
fl
fi
fl
fl
fl
fl
Study Guid GitHub Action
Use actions in a work ow
De ne the indicators of what makes a trustworthy action
Identify an action’s type, inputs, and outputs
Demonstrate how to use the speci c version of an action in a work ow
Domain 3: Author and maintain action
Use available action types
Identify the type of action required for a given problem (i.e. JavaScript, Docker container, run step)
Demonstrate how to troubleshoot JavaScript actions
Demonstrate how to troubleshoot Docker container actions
Describe the components of an action
Identify the les and directory structure needed to create an action
Identify the metadata and syntax needed to create an action
Implement work ow commands within an action to communicate with the runner (Note: this includes exit codes)
Distribute an action
Identify how to select an appropriate distribution model for an action (i.e., public, private, marketplace)
Identify the best practices for distributing custom actions
Demonstrate how to create a release strategy for an action (i.e. versioning)
Demonstrate how to publish an action to the GitHub marketplace
fi
fi
fl
e
fl
fi
s
s
fl
Study Guid GitHub Action
Domain 4: anag GitHub Action in th nt rpri
Distribute actions and work ows to the enterprise
Explain reuse templates for actions and work ows
De ne an approach for managing and leveraging reusable components (i.e. repos for storage, naming conventions for
les/folders, and plans for ongoing maintenance)
De ne how to distribute actions for an enterprise
De ne how to control access to actions within the enterprise
Con gure organizational use policies for GitHub Actions
Manage runners for the enterprise
Describe the e ects of con guring IP allow lists on GitHub-hosted and self-hosted runners
Describe how to select appropriate runners to support workloads (i.e. using a self-hosted versus GitHub-hosted runner,
choosing supported operating systems)
Explain the di erence between GitHub-hosted and self-hosted runners
Con gure self-hosted runners for enterprise use (i.e. including proxies, labels, networking)
Demonstrate how to manage self-hosted runners using groups (i.e. managing access, moving runners into and between
groups)
Demonstrate how to monitor, troubleshoot, and update self-hosted runners
Manage encrypted secrets in the enterprise
Identify the scope of encrypted secrets
Demonstrate how to access encrypted secrets within actions and work ows
Explain how to manage organization-level encrypted secrets
Explain how to manage repository-level encrypted secrets
fi
fi
fi
fi
fi
fi
ff
ff
M
e
fi
e
fl
fl
s
s
e
e
fl
e
s
e