101 Labs – GitHub Foundations - GitHub Actions
GitHub is a platform that brings together the world’s largest community of developers to discover, share, and build better software. It’s essentially a social network for code where you can store your projects (in repositories), track changes (using version control with Git), collaborate with others, and find open-source code to use and contribute to. GitHub provides tools for managing software development projects, reviewing code, automating tasks (with GitHub Actions), and fostering collaboration among developers. It’s become an essential platform for individuals, teams, and organizations involved in software development.
GitHub offers certifications to validate your skills and knowledge using their platform and tools. This lab course covers:
-
GitHub Foundations: This entry-level certification covers the basics of Git and GitHub, including repositories, branches, commits, pull requests, and collaboration workflows. It’s ideal for students, beginners, and those new to software development.
-
GitHub Actions: This intermediate-level certification focuses on automating workflows and CI/CD pipelines using GitHub Actions. It’s designed for DevOps engineers, software developers, and IT professionals who need to streamline development processes.
Updated for the latest exam syllabus:
- GitHub Foundations
- GitHub Actions
GitHub Foundations Certification Training
Key aspects of the GitHub Foundations certification:
Target Audience: This foundation certification is ideal for beginners who want to gain a general understanding of the Amazon cloud platform and the most common features it offers. It’s ideally suited to:
- Students: Those learning about software development, version control, and collaboration tools. This often includes those in computer science, IT, or related fields.
- Early-Career Developers: Developers new to using Git and GitHub in a professional setting.
- Professionals Transitioning to Tech: People from other fields who are learning to code need to understand version control and collaboration workflows.
Skills You Will Learn:
- GitHub Fundamentals
- Features and Workflow
- GitHub Pages
- Commands and Repositories
Topics Covered:
The certification covers essential web development topics, including:
Fundamental Git Commands:
- Version Control: Understand the core concepts of version control and how Git helps track changes to your code over time.
- Basic Commands: Master essential Git commands like
init,add,commit,push,pull,branch,merge, andclone. - Working with Repositories: Create, clone, and manage Git repositories, both locally and on GitHub.
- Navigating History: Explore commit history, view differences between versions, and revert changes if needed.
GitHub Features and Workflow:
- Repositories: Create and manage repositories on GitHub, including setting visibility, adding collaborators, and using branches for different features or bug fixes.
- Issues: Use issues to track bugs, feature requests, and other tasks related to your project.
- Pull Requests: Create and manage pull requests to propose changes to a repository and collaborate with others on code reviews.
- Project Boards: Organize and track your project’s progress using GitHub’s project management tools.
- GitHub Pages: Create and deploy simple websites directly from your GitHub repositories.
Collaboration and Best Practices:
- Collaborative Workflow: Understand how to use Git and GitHub effectively for collaborative software development, including branching strategies, code reviews, and merging changes.
- Open-Source Contributions: Learn how to contribute to open-source projects on GitHub, including forking repositories, creating pull requests, and following community guidelines.
- Best Practices: Adopt best practices for writing clear commit messages, using branches effectively, and resolving merge conflicts.
Foundational Concepts:
- Markdown: Learn the basics of Markdown, a lightweight markup language used for formatting text on GitHub and other platforms.
- Command Line Interface (CLI): Gain familiarity with using the command line interface to interact with Git and GitHub.
- Software Development Lifecycle: Understand the different stages of the software development lifecycle and how Git and GitHub fit into the process.
By mastering these skills, you’ll be well-equipped to use Git and GitHub effectively for personal projects, academic work, and professional software development. The GitHub Foundations certification validates your knowledge and demonstrates your readiness to collaborate and contribute to the world of software development.
Exam Details:
- Exam Code: GFC
- Format: 60 minutes
- Passing Score: 70%
- Prerequisites: None. Anyone can take the exam
- Validity Period: Lifetime
- Languages: English, Japanese
- Cost: $99
This course is 100% hands-on training.
GitHub Actions Certification Training
Key aspects of the GitHub Actions certification:
Target Audience: The GitHub Actions exam targets professionals who must automate software development workflows and CI/CD pipelines. Here’s a breakdown of the key audience:
- DevOps Engineers: Professionals responsible for building, deploying, and managing applications. They must automate tasks, integrate tools, and ensure smooth software delivery.
- Software Developers: Developers who want to automate parts of their workflow, such as testing, building, and deploying code.
- IT Professionals: Those working in IT operations or system administration who need to automate infrastructure management and software deployment tasks.
Skills You Will Learn:
- Workflow Creation
- Action Utilization
- Custom Action Development
- CI/CD Pipeline Management
- Security Best Practices:
Topics Covered:
The certification covers essential web development topics, including:
Author and Maintain Workflows (40%)
- Configuring workflows to run for various events, including scheduled, manual, and webhook events.
- Understanding workflow components such as jobs, steps, actions, and triggers.
- Utilizing encrypted secrets and environment variables within workflows.
- Creating workflows for specific purposes, such as publishing to GitHub Packages or deploying to cloud providers.
- Implementing workflow commands and managing runners.
Consume Workflows (20%)
- Interpreting the effects of a workflow and diagnosing failed workflow runs.
- Managing workflow runs, including configuring caching, passing data between jobs, and adding status badges.
- Locating workflows, logs, and artifacts within a repository.
- Utilizing actions in workflows and distributing actions appropriately.
Author and Maintain Actions (25%)
- Understanding different action types, such as JavaScript, Docker container, and composite actions.
- Identifying the necessary files and directory structures to create an action.
- Implementing workflow commands within an action to communicate with the runner.
- Troubleshooting actions and managing action metadata, inputs, and outputs.
Manage GitHub Actions for the Enterprise (15%)
- Distributing actions and workflows across an enterprise, including managing access controls.
- Configuring organizational policies for GitHub Actions.
- Managing runners at the enterprise level, including monitoring, troubleshooting, and updating self-hosted runners.
- Managing encrypted secrets within an enterprise context.
Exam Details:
- Exam Code: GHA
- Format: 75 questions over 2 hours
- Passing Score: 70%
- Prerequisites: None. Anyone can take the exam
- Validity Period: Three years
- Languages: English, Japanese
- Cost: $99
| Module 1 | GitHub Foundations - Introduction to Git and GitHub |
|---|---|
| Unit 1 | Initialize a Local Git Repository and Commit Files |
| Unit 2 | Push a Local Repo to GitHub and Create a Remote |
| Unit 3 | Explore GitHub UI: Viewing Repos Branches and Commits |
| Unit 4 | Create & Switch Branches on GitHub - CLI |
| Unit 5 | Demonstrate the GitHub Flow (Branch → PR → Merge) |
| Unit 6 | Compare Git vs. GitHub (Local vs. Remote) with Advanced Concepts |
| Unit 7 | Add a README Using Markdown Formatting |
| Unit 8 | Use GitHub Desktop to Clone Commit & Push Changes |
| Unit 9 | Add a CODEOWNERS File to Control Reviews |
| Unit 10 | Use a Repository Template for a New Project |
| Unit 11 | Create a New Branch & Add Files |
| Unit 12 | Adjust Repository Settings (Description Topics) |
| Unit 13 | Add Collaborators & Manage Permissions |
| Unit 14 | Set Basic Branch Protections |
| Unit 15 | Create & Assign Issues Add Labels and Pin an Issue |
| Unit 16 | Convert an Issue to a Discussion and Back |
| Unit 17 | Link a Pull Request to an Issue (Perform Code Review) |
| Unit 18 | Use Draft Pull Requests and Understand PR Statuses |
| Unit 19 | Comment on Specific Lines of Code in a PR |
| Unit 20 | Create & Fork a Gist |
| Unit 21 | Create, Edit, & Delete a Wiki Page |
| Unit 22 | Explore GitHub Copilot in VSCode |
| Unit 23 | Start a GitHub Codespace & Customize Dev Containers |
| Unit 24 | Compare github.dev Editor vs. Codespaces |
| Unit 25 | Locate & Explore Existing GitHub Actions in the Marketplace |
| Unit 26 | Create a GitHub Project & Explore Layout Options |
| Unit 27 | Use Labels & Milestones to Organize Issues |
| Unit 28 | Create a Template Repository for Quick Starts |
| Module 2 | GitHub Actions - Author and Maintain Workflows |
| Unit 1 | Create a Workflow Triggered by a Push Event |
| Unit 2 | Configure a Scheduled (CRON) Workflow |
| Unit 3 | Trigger a Manual Workflow Dispatch |
| Unit 4 | Set Up a Workflow Triggered by a Webhook Event |
| Unit 5 | Demonstrate an Event (Issue Creation) Triggering a Workflow |
| Unit 6 | Correct Workflow Syntax (Indentation Job Encapsulation) |
| Unit 7 | Use Steps for Shell Commands & a Marketplace Action |
| Unit 8 | Add Conditional Logic for Steps |
| Unit 9 | Use GitHub-Hosted vs. Self-Hosted Runners |
| Unit 10 | Implement Workflow Commands (set-output group logs) |
| Unit 11 | Create Dependent Jobs Using 'needs' |
| Unit 12 | Add Encrypted Secrets & Use Them in a Workflow |
| Unit 13 | Use Default Environment Variables & GITHUB_TOKEN |
| Unit 14 | Dynamically Set Environment Variables Using Commands |
| Unit 15 | Publish a Package to GitHub Packages in a Workflow |
| Unit 16 | Publish an Image to GitHub Container Registry |
| Unit 17 | Add a Database Service Container to a CI Workflow |
| Unit 18 | Use Labels to Route Workflows to Self-Hosted Runners |
| Unit 19 | Integrate CodeQL Scanning in a Workflow |
| Unit 20 | Publish a Release & Deploy to a Cloud Provider via Workflow |
| Module 3 | GitHub Actions - Consume Workflows |
| Unit 1 | Identify the Triggering Event by Examining Changes in a Repo |
| Unit 2 | Diagnose a Failed Workflow Run Using History & Logs |
| Unit 3 | Access Workflow Logs via GitHub UI & REST API |
| Unit 4 | Enable Step Debug Logging in a Workflow |
| Unit 5 | Use Default Environment Variables in a Step |
| Unit 6 | Pass Custom Environment Variables to a Step |
| Unit 7 | Configure Caching of Dependencies in a Workflow |
| Unit 8 | Pass Data Between Jobs Using Artifacts |
| Unit 9 | Remove Workflow Artifacts from a Repository |
| Unit 10 | Add a Workflow Status Badge to Your README |
| Unit 11 | Add Environment Protections (Required Reviews Before Deploy) |
| Unit 12 | Define a Matrix Build for Multiple Configurations |
| Unit 13 | Implement Workflow Approval Gates |
| Unit 14 | Locate a Workflow Its Logs & Artifacts in the UI |
| Unit 15 | Download Artifacts & Use an Organization Templated Workflow |
| Module 4 | GitHub Actions - Author and Maintain Actions |
| Unit 1 | Choose the Appropriate Action Type (JS Docker Composite) |
| Unit 2 | Create & Troubleshoot a Simple JavaScript Action |