Skip to content

Continuous Integration

Marc Herbert edited this page Nov 23, 2022 · 9 revisions

Zephyr uses a continuous integration service to verify pull requests and the health of various project tree on a continuous basis. On every pull request submitted to enabled projects, we run tests and report status that helps maintainers (administrators and members with merge permissions) decide whether to merge the pull request into the tree.

Pull Requests

At the moment we run the following tests:

  • Check commit message style using gitlint
  • Check patches for style using checkpatch
  • Check for new documentation warnings and errors
  • Run basic sanitycheck using a pre-defined set of boards and configurations

All tests are executed to completion, meaning that the tests continue to run even if one or many fail. The results of tests are reported with all logs and errors message on the CI status page. On a Linux system you can run scripts/twister locally. To run all the other tests run scripts/ci/check_compliance.py -c HEAD~n.. where n is the number of commits you're submitting.

Daily Checks

On a daily basis we run the following set of tests:

  • twister with the following options: --all --enable-slow --inline-logs
  • twister with the following options: --all --enable-slow --inline-logs -R

Additionally we generate the documentation for the master branch on a daily basis and post the newly generated HTML output to the website.

Board Testing Intro

HOW TOs