Exploring the GitHub Marketplace: Considering Common Apps to Install

In the section “Introducing the GitHub Marketplace” at the beginning of this chapter, we list the categories of apps that are available on the Marketplace. In this section, we describe some of the most common and useful apps that you may want to consider installing.

1. Continuous integration

Continuous integration (CI) apps automatically build and test your code every time you push it to GitHub. If you have a CI app, such as AppVeyor, installed on your repository, you will see the status of the check at the bottom of each pull request, as shown in Figure 15-5.

If you’re the owner of the repository, you can also specify whether checks have to pass before the branch can be merged into the master branch. Just head into the Settings tab. If you have any rules on the master branch already, click edit; other­wise, click Add Rule. From there, you can scroll down and select Require status checks to pass before merging.

2. Code quality

Code quality apps automatically review your code with style, quality, security, and test-coverages checks. These apps can be really useful for ensuring your code is kept to a high standard. With well-styled and quality code, you’re less likely to introduce or miss bugs. For example, if you require that all curly braces are on new lines and indented with one tab per nested brace, you’re likely to be able to spot when something is incorrect. For example, Rubocop checks the style of your Ruby code while it’s building and provides you with style feedback, such as casing for method names.

Another useful type of code quality apps is the code coverage apps, such as Code- cov. Shown in Figure 15-6, Codecov and apps like it comment on pull requests with how much of the code is covered by test scenarios, helping to ensure your code remains well tested.

3. Localization

Localization apps can make publishing your app in many languages easier. For example, the Crowdin app will link your repository to a Crowdin account where people from around the world can help you translate your documentation and any written words in your software (for example, on buttons or in menus). With more than 20,000 people contributing to translations, the Crowdin app will automati­cally open a pull request on your repository with new translations when it’s reached a threshold of accuracy, still giving you a chance to review and merge. For open source projects, Crowdin is free!

4. Monitoring

Monitoring apps help measure performance, track errors, and track dependencies in your code. For example, Greenkeeper is a real-time notification app that gives you updates and changes for JavaScript dependencies. Figure 15-7 shows Green- keeper in action, opening a pull request to update eslint to the latest version.

5. Dependency management

Modern app development today is heavily dependent on public package managers for pulling in and managing dependencies. A typical app may have dozens, if not hundreds, of dependencies. Tracking which of these dependencies are up-to-date can be difficult. Github apps like Dependabot check to make sure your dependen­cies are up-to-date and submit pull requests to update the ones that are not.

Sometimes you don’t want all your dependencies on a public package registry. For example, if you work in an enterprise, you may have internal packages that should remain private. A private package registry tool, such as MyGet, is useful in this case. MyGet works with NuGet packages and lets you set up a policy where pushes to a particular branch will initiate a build and the branch will be deployed to a cus­tom NuGet feed hosted on MyGet.

6. Testing

Testing software is an important part of the software development lifecycle. Good testers develop test plans to ensure that testers do a good job of testing each release. Managing test plans and keeping track of the status of test runs is an important part of quality assurance. The TestQuality app integrates with GitHub to helping developers and testers create, run, coordinate, and monitor software testing tasks.

7. Learning

A great way to learn GitHub is to install the GitHub Learning Lab from the Marketplace. Installing Learning Lab install a bot that walks you through interactive lessons on how to use GitHub through a set of tasks that you complete. The lab is free and lets you take as many courses as you like at your own pace.

Source: Guthals Sarah, Haack Phil (2019), GitHub for Dummies, Wiley.

Leave a Reply

Your email address will not be published. Required fields are marked *