How GitHub Maximizes the Impact and Efficiency of Collaboration and Code Reviews With Enterprise and Marketplace Platforms

Github Maximizes Impact Of Collaboration And Code Reviews

TL; DR: After nearly a decade of hosting code repositories and promoting open-source collaboration, the GitHub universe has grown to more than 23 million users developing more than 64 million projects. The company aims to appeal to businesses of all sizes by emphasizing collaborative code review and project management tools. GitHub Enterprise provides a secure platform for all aspects of the dev cycle, while apps in GitHub Marketplace add functionalities to improve teams’ workflows.

With more than 35 teams of developers working on various projects, leaders at HubSpot recognized the need to simplify the development process and consolidate tools.

The sales, marketing, and customer relationship management company chose GitHub Enterprise in 2012 and have since uploaded more than 1,000 repositories and 1,500 components. HubSpot engineers deploy to production up to 300 times a day, according to Tech Lead Mike Champion, who said GitHub has become a central forum for communication for the teams.

“GitHub has definitely become more than where we store code,” he said in a case study. “It’s where we communicate about building software.”

The go-to platform for Git version control and source code management, GitHub has long appealed to developers for collaborative tools for code reviews and project management.

“A lot of us were already fans of GitHub,” Mike said. “We care a lot about the tools we use every day. If we like a tool, and it makes us happy and productive, we will want to invest in it.”

According to Mike, the rapidly growing company considers GitHub a critical part of recruiting and onboarding talented new developers, in addition to company-wide productivity and morale.

“Using GitHub is a sign of an environment in which people prioritize the tools that they enjoy,” he said. “It’s part of a larger investment in developer happiness and in helping them focus on the challenging problems of building products, rather than on tools.”

GitHub Marketplace: 7 Apps for Revamping Your Workflow

Paving the way for efficiency and scalability, the company launched GitHub Marketplace in May 2017 to empower users to find apps that streamline, improve, or extend their development and deployment processes.

More than a dozen integrators currently make apps available in the Marketplace, with more coming soon. We went ahead and highlighted some of the newest and most exciting tools:

1. Better Code Hub: Immediate Feedback for Code Quality

Checking code compliance against 10 software engineering guidelines, Better Code Hub analyzes code and provides suggestions within minutes for every push and pull request. The criteria include rules for brevity and simplicity, along with relationships among components of a project’s architecture.

Screenshot of Better Code Hub

Better Code Hub simplifies code review by holding a project to 10 widely accepted quality benchmarks.

Teams can add quality goals, and the app creators annually adjust the metrics and benchmarks to mitigate the number of minor or irrelevant violations. In addition to proposing refactoring candidates, Better Code Hub will tell users what impact each candidate has on compliance.

2. Code Climate: Automated Code Review

Every GitHub pull request is automatically examined with line-by-line test coverage reports, technical debt assessments, and style checks to ensure development teams merge only clean, maintainable, and thoroughly tested code.

Screenshot of Code Climate

Preventing teams from merging subpar pull requests, Code Climate checks code for complexity and security.

Code Climate analyzes every commit, branch, and pull request for complexity, duplication, security, and other components to boost quality and identify troublesome parts of a team’s codebase. An included command line interface allows engineers to run the same analysis on local machines, giving coders the confidence to push clean code.

3. Coveralls: Test Coverage, History, and Statistics

With a well-tested codebase being mission-critical to businesses, Coveralls finds which parts of an organization’s code aren’t being covered by part of a testing suite. The app integrates with the continuous integration server to sift through coverage data to expose gaps.

Screenshots of Coveralls

Coveralls makes sure that all code within a product has been thoroughly tested.

Coveralls displays test coverage percentages as a badge of honor and tracks a project’s historical data. Like many apps in the GitHub Marketplace, Coveralls is free for open-source users and becomes more expensive as the number of commercial repositories grows.

4. StyleCI: Automatic Code Analysis for Push and Pull Requests

Continuous integration with a difference — that’s how the creators of StyleCI tout the app’s PHP coding style service. StyleCI automatically analyzes every push or pull request made to both open- and closed-source repositories, checking the code against one of several included presets or user-defined standards.

Screenshot of StyleCI

PHP code style analysis from StyleCI keeps continuous integration pipelines flowing.

StyleCI integrates with GitHub’s commit status to notify teams of potential issues and is easily configurable using an in-browser editor. The program can be set up to automatically create a pull request with fixes and, if preferred, immediately merge the request.

5. Gemnasium: Dependency Management and Security Notifications

Keeping applications secure, Gemnasium monitors dependencies and notifies users when a component has become vulnerable or outdated. The app consolidates security information and updates across all repositories into a single interface, giving developers a clear overview of their projects’ health.

Screenshots of Gemnasium

Gemnasium boosts projects’ security by monitoring dependencies and alerting users when updates are available.

The app currently supports Ruby, npm, PyPI, and Packagist, with Java support coming soon. An included command line tool gives users full control over access to private projects, along with the ability to automatically find and install compatible Ruby dependencies.

6. GitLocalize: Simplified Translation Management

Built for teams looking to streamline workflows associated with translating content, GitLocalize automatically syncs with GitHub repositories to bridge development and localization processes.

Screenshots of GitLocalize

GitLocalize merges development and translation workflows to make sure all content is globally accessible.

After configuration, the app pulls target files and makes them translatable. The files are parsed into trackable chunks, with translations linked with the original language version. GitLocalize will automatically sync with the chosen repository by pulling, committing, and sending pull requests, all while tracking any changes between files.

7. WakaTime: Programming Metrics, Insights, and Time Tracking

Giving developers and teams a fascinating look into their programming, WakaTime automatically generates data about the time and languages used to complete projects. The open-source app automatically detects projects and doesn’t require coders to change their processes.

Screenshots of WakaTime

WakaTime generates in-depth metrics into programming time, accomplishments, and efficiencies.

The WakaTime dashboard tracks stats on how developers work, even providing leaderboards to promote a sense of healthy competition. Perfect for teams and contract workers, WakaTime metrics and commit stats are available as fully embeddable SVG charts.

Why GitHub Open-Sourced Its Site Policies and Terms of Service

From the first days of GitHub, company leaders have promoted open-source collaboration and development. Grit, GitHub’s foundational program that allows for object-oriented read-write access to Git repositories through Ruby, was shared with the world from Day One.

In mid-2017, the company invited users to watch, fork, and collaborate on a new version of the GitHub terms of service and other site policies.

Open-sourcing the site’s governing documents came with several benefits, according to the announcement: time and money savings, more brainstorming power, and direct and immediate user feedback.

The company received nearly 100 comments, with many contributors offering positive feedback and copy editing services. GitHub users expressed a need to refine the descriptions of licenses among contributions and the GitHub platform.

The new terms of service, which emphasized accessibility and readability, formalized the company’s stance on advertising and GitHub Pages, along with an acceptable use policy that is easier to understand.

New in GitHub Enterprise 2.10: Improved Organization and Reviews

Emphasizing the business-critical aspects of efficient programming and collaboration, the company launched several updates to GitHub Enterprise in mid-2017.

Repository administrators can organize and label repositories with tags for easy search and discovery, whether a project is described by languages used, project goals, or teams responsible for development.

Screenshot of GitHub Enterprise project board

Revamped project boards in GitHub Enterprise 2.10 now provide more details about how tasks move through the pipeline.

GitHub also added more details to the agile project boards that track the status of various tasks, enabling teams to see all activity across the project’s lifespan.

Updates to GitHub Enterprise also empower teams to refine their review processes by filtering and prioritizing pull requests. Leaders can easily find pull requests that are either awaiting review, suggesting changes, reviewed by a specific user, or approved and ready to merge.

For those developers or teams who can’t find exactly the app they need in GitHub Marketplace, the GitHub GraphQL API allows for custom tools with full access to data.