CALC uses a number of third-party services to ensure consistent code quality.
Aside from running tests, CircleCI is also used to automatically deploy CALC; see the Release process documentation for further details.
Finally, CircleCI is also used for some monitoring tasks.
Because a single failing test on CircleCI blocks deployment, it’s important to know how to disable some of them in emergencies. In particular:
- Selenium has a history of acting up on CI and sometimes needs to be disabled outright. See commit 191f5789a8 for an example of how to do this.
- CALC uses a number of static analysis tools to ensure that its
code works as expected. However, in the case that any of them
ever cause trouble whose causes can’t be diagnosed, they can
be disabled during CI: in .circleci/config.yml, search for
ultratestand remove any of the arguments that are triggering failures.
Its configuration is located in .codeclimate.yml.
Its checks are largely advisory, however. Sometimes false positives are triggered and need to be silenced via its admin interface.