Prepare for the certification exam for GitHub Actions.
Overview
Syllabus
Introduction
- Introduction
- Learning objectives
- Configure workflows to run for one or more events
- Configure workflows to run for scheduled events
- Configure workflows to run for manual events
- Configure workflows to run for webhook events
- Demonstrate a GitHub event to trigger a workflow based on a practical use case
- Learning objectives
- Identify the correct syntax for workflow jobs
- Use job steps for actions and shell commands
- Use conditional keywords for steps
- Describe how actions, workflows, jobs, steps, runs, and the marketplace work together
- Identify scenarios suited for using GitHub-hosted and self-hosted runners
- Implement workflow commands as a run step to communicate with the runner
- Demonstrate the use of dependent jobs
- Learning objectives
- Use encrypted secrets to store sensitive information
- Identify the available default environment variables during the construction of the workflow
- Identify the location to set custom environment variables in a workflow
- Identify when to use the github_token secret
- Demonstrate how to use workflow commands to set environment variables
- Learning objectives
- Add a script to a workflow
- Demonstrate how to publish to GitHub Packages using a workflow
- Demonstrate how to publish to GitHub container registry using a workflow
- Use database and service containers in a GitHub actions workflow
- Use labels to route workflows to specific runners
- Use codeql as a step in a workflow
- Demonstrate how to publish a component as a GitHub release using GitHub actions
- Deploy a release to a cloud provider using a GitHub actions workflow
- Learning objectives
- Configure caching of workflow dependencies
- Identify steps to pass data between jobs in a workflow
- Remove workflow artifacts from GitHub
- Add a workflow status badge
- Add environment protections
- Define a matrix of different job configurations
- Implement workflow approval gates
- Learning objectives
- Identify the event that triggered a workflow from its effects in a repository, issue, or pull request
- Describe a workflow's effects from reading its configuration file
- Diagnose a failed workflow run
- Identify ways to access the workflow logs from the user interface
- Identify ways to access the workflow logs from the REST API in GitHub
- Enable step debug logging in a workflow
- Demonstrate how to use default environment variables in a workflow
- Demonstrate the correct syntax for passing custom environment variables in a workflow step
- Learning objectives
- Describe where to locate a workflow in a repository
- Explain the difference between disabling and deleting a workflows
- Demonstrate how to download workflow artifacts from the user interface
- Describe how to use an organization's templated workflow
- Learning objectives
- Define the indicators of what makes a trustworthy action
- Identify an action's type, inputs, and outputs
- Demonstrate how to use the specific version of an action in a workflow
- Learning objectives
- Identify the type of action required for a given problem
- Demonstrate how to troubleshoot javascript and docker container actions
- Learning objectives
- Identify the files and directory structure needed to create an action
- Identify the metadata and syntax needed to create an action
- Implement workflow commands within an action to communicate with the runner, including exit codes
- Learning objectives
- Identify how to select an appropriate distribution model for an action
- Identify the best practices for distributing custom actions
- Demonstrate how to create a release strategy for an action
- Demonstrate how to publish an action to the GitHub marketplace
- Learning objectives
- Explain reuse templates for actions and workflows
- Define an approach for managing and leveraging reusable components
- Define how to distribute actions for an enterprise
- Define how to control access to actions within the enterprise
- Configure organizational use policies for GitHub actions
- Learning objectives
- Describe the effects of configuring IP allow lists on GitHub-hosted and self-hosted runners
- Describe how to select appropriate runners to support workloads
- Explain the difference between GitHub-hosted and self-hosted runners
- Configure self-hosted runners for enterprise use
- Demonstrate how to manage self-hosted runners using groups
- Demonstrate how to monitor, troubleshoot, and update self-hosted runners
- Learning objectives
- Identify the scope of encrypted secrets
- Demonstrate how to access encrypted secrets within actions and workflows
- Explain how to manage organization-level encrypted secrets
- Explain how to manage repository-level encrypted secrets
- Summary
Taught by
Microsoft Press and Tim Warner