From LimeSurvey Manual
Continuous integration (CI) is the concept of running tests and checks on each push, to reduce different risks related to the development cycle.
- Be proactive rather than reactive
- Identify hotspots for refactoring efforts
- Reduce the risk of bugs and regressions
Goal: Code quality is not allowed to decrease.
- Syntax check
- Type check
- Unused variables
- Unit tests
- Functional tests (with fixture)
- Integrity tests (with scripted browser)
- Test coverage
- Code duplication