Development Guide

Jenkins CI

Jenkins continuous integration server on SITL01 is used to automatically run integration tests against PX4 SITL.

Overview

  • Involved components: Jenkins, Docker, PX4 POSIX SITL
  • Tests run inside Docker Containers
  • Jenkins executes 2 jobs: one to check each PR against master, and the other to check every push on master

Test Execution

Jenkins uses run_container.bash to start the container which in turn executes run_tests.bash to compile and run the tests.

If Docker is installed the same method can be used locally:

cd <directory_where_firmware_is_cloned>
sudo WORKSPACE=$(pwd) ./Firmware/integrationtests/run_container.bash

Server Setup

Installation

See setup script/log for details on how Jenkins got installed and maintained.

Configuration

  • Jenkins security enabled
  • Installed plugins
    • github
    • github pull request builder
    • embeddable build status plugin
    • s3 plugin
    • notification plugin
    • collapsing console sections
    • postbuildscript