Book Image

Mastering GitHub Actions

By : Eric Chapman
Book Image

Mastering GitHub Actions

By: Eric Chapman

Overview of this book

Navigating GitHub Actions often leaves developers grappling with inefficiencies and collaboration bottlenecks. Mastering GitHub Actions offers solutions to these challenges, ensuring smoother software development. With 16 extensive chapters, this book simplifies GitHub Actions, walking you through its vast capabilities, from team and enterprise features to organization defaults, self-hosted runners, and monitoring tools. You’ll learn how to craft reusable workflows, design bespoke templates, publish actions, incorporate external services, and introduce enhanced security measures. Through hands-on examples, you’ll gain best-practice insights for team-based GitHub Actions workflows and discover strategies for maximizing organization accounts. Whether you’re a software engineer or a DevOps guru, by the end of this book, you'll be adept at amplifying productivity and leveraging automation's might to refine your development process.
Table of Contents (22 chapters)
Free Chapter
1
Part 1:Centralized Workflows to Assist with Governance
7
Part 2: Implementing Advanced Patterns within Actions
14
Part 3: Best Practices, Patterns, Tricks, and Tips Toolkit

Creating checks and check suites

In GitHub, check runs and check suites are two related concepts in the Checks API. They represent the automated checks performed on code changes and pull requests during software development.

In this section, we will create an action that can be used from our workflows to easily create a check within pull requests. To do that, we will enhance a workflow we previously created. We will create a check via the GitHub API at the workflow’s start and end as a placeholder describing the output. We’ll show various bits of information from the build in an easy-to-read structure.

Let’s first learn the specifics of how check suites work.

Understanding how check suites work

Check suites are typically assigned automatically unless configured on the repository that the application will manage the check suite itself. The reasoning behind this might be that the backend application is operating as one product but wants to represent itself...