Gearset's status check integration with GitHub allows you to control when pull requests can be merged, based on the results of the CI job.
How does it work?
Gearset's status check integration works with any CI job that uses a GitHub repository as the source of the deployment.
Whenever the job runs, Gearset will automatically post the build status (succeeded or failed) back to GitHub, referencing the relevant git commit and the outcome of the job (success or failure).
This gives you direct insight into the status of a related CI job from within GitHub, without looking up the results in Gearset.
If required status checks are enabled in your repository settings, it can also help ensure that GitHub pull requests are not merged until everything is in order and the CI job can successfully run the validation or deployment.
How are required status checks set up in GitHub?
The instructions below show you how to enable or disable required status checks for your GitHub repository.
On below example we've added a rule for INT
branch that requires status checks to pass before merging.
How to configure it in GitHub
Navigate to the
Settings
page of your GitHub repository.In the left-hand menu, click
Branches
.Under
Branch protection rules
, either clickEdit
for a rule that you would like to change, or clickAdd rule
(if you don't have any rules created, you'd instead see the button 'Add classic branch protection rule
') at the top to create a new rule (depending on the branches you wish to cover).If adding a new rule, enter the desired branch name in the
Branch name pattern
field and hitEnter
.To enforce the status checks rule, check
Require status checks to pass before merging
inRule settings
.Note: as explained here, the extra setting for
Require branches to be up to date before merging
will automatically tick when you enforce status check rules. On PRs it would show up with the following behaviour. We recommend turning this off if using Gearset Pipelines as the target branch is only usually pulled down into the source if you've resolved a merge conflict, so you may encounter erroneous blocking of feature branches unnecessarily if you only want to enforce that Gearset Validation has passed.
If Gearset has posted a build status to the repository in the last week, you should be able to search for
Gearset
in that text box and find the right CI Job name you wish to align to this branch (e.g Main > Production CI job aligns to the 'Main' branch in GitHub as an enforced check). Check or uncheck this item depending on whether you want Gearset build statuses to control whether a PR can be merged or not.Repeat steps 3 > 6 for all branches you wish to enforce protections on.