~aleteoryx/muditaos

ref: d4d0e7ec3487e64649f764c2bbcf5c25cf3c204d muditaos/doc/CI.md -rw-r--r-- 1.3 KiB
d4d0e7ec — Tomasz Rybarski [BH-1222] Alarm Bottom Message Translations 4 years ago

#Continuous Integration

We are using Jenkins as a CI system. Each internal PR is checked on the CI, and proper status is added to the PR.

#Checks that are done

Currently we run several checks:

Check Description
Commit Message check Check if commit message has proper format (see Development workflow)
Copyright notice check checks if changed files have proper copyright notice
Style checking Runs clang-format with style described in .clang-format against committed code
Build RT1051 Compiles code for RT1051
Build Linux Compiles code for Linux, runs Unit Tests, and looks for static variables

#future improvements

  • [] Common ccache for all builds
  • [] Add Clang-tidy and persistent reports
  • [] Daily builds moved to CI
  • [] Code Coverage for based on Daily builds

#Jenkinsfile

The current CI pipeline is described in Jenkinsfile that is in sources, if a developer needs to add some check, it is enough to update the file, the PR will be built with new rules.

In the job description, we may define docker image to use and the parameters that should be set, but this may require more knowledge, the easiest way is to use node.label. Docker templates are defined directly in Jenkins UI, and this simplifies Jenkinsfile