Plugin (Sometimes referred to as engines) timeouts are generally caused by either an abnormally large number of files under analysis, or from attempting to analyze a file not typically intended for static analysis.
Below are the steps we recommend taking to troubleshoot engine timeouts.
When encountering an engine timeout, we recommend that you start by looking at directories and files you can exclude from your analysis. Files can be excluded via in-app config, or in your committed
.codeclimate.yml. Excluding directories from your analysis will cut down on the amount of time individual engines spend analyzing your repository.
In general, we recommend excluding:
- Third party libraries
- Production assets, such as minimized or cross-compiled files
- Vendored files
- Automated test suites
Here are just a few examples of directories and file types that we recommend excluding from your analysis:
plugins brakeman enabledtrue rubocop enabledtrue eslint enabledtrue exclude_patterns # examples of auto-generated exclusions db/* spec/* tests/* vendor/* # examples of third party libraries that should be excluded */jquery/* */bootstrap/* # examples of minified files that should be excluded **.min.js **.min.css
For more information on how to exclude files and directories from our analysis, see our documentation on file and path exclusions.
If you've already committed a
.codeclimate.yml which specifies file exclusions, and you are still experiencing an engine timeout, please contact our support team.
A engine timeout that causes a build to error, can also cause problems for branch and pull request analyses later. For more information about how to troubleshoot this issue, see: Fixing branches and pull requests
A special condition occurs when your first analysis of the repository errors. For more information see: The first analysis of my repository errored