Scalingo's mission is to help developers focus on developing new features, by relieving them of infrastructure management and deployment workflow.
With this in mind, we have added to our integration with GitHub the support of the famous GitHub Actions. When automatically deploying your branches or review apps, the status of GitHub Actions are now taken into account: Scalingo platform waits for the GitHub Actions to succeed before proceeding with the automatic deployment.
GitHub Actions are tools provided by the GitHub platform that opens the door to numerous instruments for continuous integration, linting (process for detecting errors in the code), code analysis or even very powerful tests.
As a reminder, continuous integration is a set of practices that aim to verify that each modification made to the code has no impact on the application's features.
In the background, GitHub Actions are based on the 'Checks' API of GitHub. It is this API that we have integrated into our services.
This integration is directly visible from the GitHub interface, in the "Checks" tab, and allows richer statuses, code annotations with detailed information and a better interactivity during reviews.
The existence of CI/CD tools on GitHub is not new. These tools existed long before the arrival of the GitHub Checks API and GitHub Actions.
Initially, these tools could use the commit status API to inform GitHub of CI progress by marking commits with an "error", "failure", "pending", or "success" status.
These external applications were then linked to your account as OAuth Applications, applications that pretend to be users of the platform to interact with the GitHub API and your repositories in a restricted way.
GitHub Checks uses another category of applications to fully exploit the potential of the GitHub API: GitHub Apps!
As a result, several new statuses are available to specify the status of your CI and a new tab allows you to directly consult the logs of your CI without leaving the GitHub interface!
The GitHub Checks API and the Commit Status API provide us with valuable information about the status of your code.
It is by analyzing the content provided by the latter that we choose to deploy your reviews apps and your applications. Now we are able to cover all CI/CD available for GitHub!
As part of our continuous improvement goal at Scalingo, the implementation of such a tool provides an improved user experience and optimizes our users workflow.
For more information, feel free to consult the complete documentation of Github Checks.