Github Actions certificate
Tags: githubactions, github, certification, devops
Published: 2024-02-08 01:51:37

## Introduce

In 2018, [Github lauched the Github Actions](https://github.blog/2018-10-17-action-demos/) with the purpose of making it easier to build, test, and deploy your projects on any platform, including Linux, macOS, and Windows.

I have been working with GitHub Actions since 2021, and since then, I have witnessed its powerful capabilities, the multiple options available to solve various problems, and how quickly the solution has grown with new functionalities released every year.

At the end of 2023, Github announced 4 certifications, `Github Foundation`, `Github Actions`, `Advanced Security` and `Administration`. This post will focused only about `Github Actions`.

## The Github Actions exam

Until now, the certification is still in beta, so there isn't a lot of information about the exam structure, the passing score, or the duration of the exam in the [FAQ](https://examregistration.github.com/faq). Therefore, I'm going to explain my experience with the whole process.

First of all, it's necessary to [register](https://examregistration.github.com/overview) for the desired certificate and schedule the exam. In my case, I scheduled it through the PSI platform and took the exam at home. I paid $99, but the price is currently 50% off because the exam is in beta mode.

The exam consists of 75 questions, some of which require selecting only one answer while others allow choosing multiple options for your answer. The exam duration is 2 hours, providing ample time to carefully consider questions and answer them calmly.

## Preparation

The most important aspect is to thoroughly read the [documentation](https://docs.github.com/en/actions). While you may not remember everything you read, having read it once will still greatly benefit you. Additionally, it's crucial to follow the [changelog](https://github.blog/changelog/). GitHub posts weekly updates and news, which help to keep us up to date with any changes or new features.

Looking solely at the exam scope, GitHub has launched modules on the [Microsoft Learn platform](https://learn.microsoft.com/en-us/collections/n5p4a5z7keznp5). I completed all the modules and found them very useful, I believe they may not be sufficient preparation on their own. Additionally, there are four domains that encompass all topics, as described in the [study guide](https://assets.ctfassets.net/wfutmusr1t3h/2mMJ6nECbUAdiQMTObbPw6/275fd49301e7a0d1b4e3de0bfe95d765/github-actions-exam-preparation-study-guide__1_.pdf). To simplify and aid in studying, I have divided the main topics and provided a description for each one.

| Topic | Description |
|-------|-------------|
| [Learn GitHub Actions](https://docs.github.com/en/actions/learn-github-actions)           | Understanding expressions, context, and variables is essential for effectively utilizing GitHub Actions. These concepts provide flexibility and control within workflows, enabling dynamic configuration and efficient management of workflow behavior. |
| [Workflow](https://docs.github.com/en/actions/using-workflows)                            | The most important topic encompasses concepts related to workflow syntax, commands like [set output](https://dev.to/rafael_svieira/github-actions-output-5ach), and artifact management.  |
| [Job](https://docs.github.com/en/actions/using-jobs)                                      | Shows how to use jobs with conditional statements, matrix configurations, environments, and other features is essential for optimizing and customizing GitHub Actions workflows to meet specific requirements. |
| [Service container](https://docs.github.com/en/actions/using-containerized-services)      | Concept about how to use service container into a job. |
| [Publish Packages](https://docs.github.com/en/actions/publishing-packages)                | An important topic that explains how publishing packages works in GitHub Packages. |
| [Custom actions](https://docs.github.com/en/actions/creating-actions)                     | One of the most important topics discusses how to release and maintain a custom action. |
| [Secrets](https://docs.github.com/en/actions/security-guides)                             | Shows how secrets work. |
| [Deployment](https://docs.github.com/en/actions/deployment)                               | Explain the concept of deployments. There are some examples using various cloud providers, but the main focus is on understanding the concept, environments, and protection rules. |
| [Self-hosted runner](https://docs.github.com/en/actions/hosting-your-own-runners)         | There is a lot of information available about self-hosted runners, but it's important to understand the concept and benefits they offer. |
| [Github-hosted runner](https://docs.github.com/en/actions/using-github-hosted-runners)    | Learn about the available labels and how GitHub-hosted runners function. |
| [Enable debug logging](https://docs.github.com/en/actions/monitoring-and-troubleshooting-workflows/enabling-debug-logging) | A simple topic that explains how to use the debug mode. |
| [Github API](https://docs.github.com/en/rest/repos/repos)                                 | Finally, regarding APIs, you don't need to memorize every request/response, but it's important to understand the scope of requests. For instance, if you need to change some settings in the repository, you should be aware that the endpoint should include the owner and repo parameters, such as `https://api.github.com/repos/OWNER/REPO/`. |

## Conclusion


Thorough preparation and understanding of key concepts are crucial for success in the GitHub Actions certification exam. Utilize resources like Microsoft Learn modules, comprehend essential topics using the documentation, create proofs of concept (POCs), and stay updated with GitHub's changelog for effective utilization in software development workflows.