Integrations

A wonderful feature of GitHub is its ability to integrate with a wide variety of automated processes, such as Continuous Integration and Code Coverage!

Continuous Integration (CI)

Continuous Integration (CI) allows you to use a free hosting service to run tests for your project code automatically, every time a new PR is attempted. That means, your test suite will be run “somewhere on the cloud”, depending on the CI service you use (CircleCI, TravisCI, AppVeyor, etc.). Each of these CI services has advantages and disadvantages. For example, AppVeyor will test you code on a Windows or Linux machine (for free). TravisCI will let you test on Linux, MacOS, and Android (for free). Obviously, you can pay for additional options.

Code Coverage

Code Coverage is a capability that allows you to test what lines of your code are actually tested by your test suite. It is not perfect, but code coverage allows you get a sense for whether there are any branches in your code that aren’t being tested. Code coverage can identify the actual “missed” lines of code, and you can write tests to test that code.

Code Quality Checks

There are a number of automated tools that let you check the quality of your code, according to set standards. This includes things like code formatting standards and other such things.

And so much more…

You can look at the GitHub Marketplace to find integrations that you might be interested in using. Some integrations may require payment for certain services, while many others provide a free level of service, usually to Open Source (i.e., public) GitHub repositories. (It’s good to be open source!)