Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I have a Github project integrated with Travis. Every time a commit is pushed, T

ID: 661093 • Letter: I

Question

I have a Github project integrated with Travis.

Every time a commit is pushed, Travis tries to compile, and warn if it does not compile.

To take it further, I would like to integrate with a tool for static code analysis:

Find duplicate code
Find common probable bugs (recognizes the technology automatically, at least: Android, Java, C#)
Find package dependency cycles
Bonus: Run applicable off-the-shelf validation tools, for instance Lint for Android

Requirements:

Run analysis at every commit or at least on a regular basis
Free
Preferably a free (or free for open source projects) online service, installable (on-premise) if nothing else available.
Ideally, it would only require entering a hook address and maybe accepting an OAuth authentication.

Explanation / Answer

I think SonarQube suits your needs, We use it exactly the same way you want but with jenkins and for java-based code(supports multiple languages though, no need to worry).
E.g. pushed a commit -> Jenkins builds and deploys -> updates SonarQube which gives online statistics. I imagine setting SonarQube with Travis wouldn't be too much trouble since it provides a lot of plugins for that reason.

UPDATE: Some plugins and general information for getting started with Jenkins and Sonarqube:

Here is the plugin for Jenkins+Github
Here is the plugin for Jenkins+SonarQube
Here is a link with further information about configuration of Jenkins+SonarQube