diff --git a/.travis.yml b/.travis.yml index 985e682010..c82e886075 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,11 @@ language: cpp +branches: + only: + - master + - develop + - /^v\d+\.\d+\.\d+$/ + matrix: fast_finish: true include: @@ -29,6 +35,36 @@ matrix: - libjsoncpp-dev - libcurl4-openssl-dev - libtinyxml2-dev + - os: linux + name: "docker-ubuntu-1804-PX4-SITL" + services: + - docker + env: + - MATRIX_EVAL="BUILD_TARGET=px4-sitl && DOCKER_REPO=mavsdk/mavsdk-ubuntu-18.04-px4-sitl" + - os: linux + name: "docker-ubuntu-1604" + services: + - docker + env: + - MATRIX_EVAL="BUILD_TARGET=deb-x64 && DOCKER_REPO=mavsdk/mavsdk-ubuntu-16.04" + - os: linux + name: "docker-ubuntu-1804" + services: + - docker + env: + - MATRIX_EVAL="BUILD_TARGET=deb-x64 && DOCKER_REPO=mavsdk/mavsdk-ubuntu-18.04" + - os: linux + name: "docker-fedora-29" + services: + - docker + env: + - MATRIX_EVAL="BUILD_TARGET=rpm-x64 && DOCKER_REPO=mavsdk/mavsdk-fedora-29" + - os: linux + name: "docker-fedora-30" + services: + - docker + env: + - MATRIX_EVAL="BUILD_TARGET=rpm-x64 && DOCKER_REPO=mavsdk/mavsdk-fedora-30" - os: linux name: "manylinux1-x64" services: @@ -72,6 +108,9 @@ install: - if [[ "${BUILD_TARGET}" = "coverage_build" ]]; then pip install --user cpp-coveralls; fi +- if [[ "${BUILD_TARGET}" = "deb-x64" ]] || [[ "${BUILD_TARGET}" = "rpm-x64" ]]; then + gem install fpm; + fi - if [[ "${BUILD_TARGET}" = "manylinux1-x64" ]]; then docker run --rm manylinux1-x64-custom > ./dockcross-manylinux1-x64; chmod +x ./dockcross-manylinux1-x64; @@ -96,6 +135,19 @@ script: cmake --build build -j 2; ./build/src/unit_tests_runner; fi +- if [[ "${BUILD_TARGET}" = "px4-sitl" ]]; then + docker run -it -v $TRAVIS_BUILD_DIR:/home/user/MAVSDK:rw ${DOCKER_REPO} tools/run-sitl-tests.sh; + fi +- if [[ "${BUILD_TARGET}" = "deb-x64" ]]; then + docker run -it -v $TRAVIS_BUILD_DIR:/home/user/MAVSDK:rw ${DOCKER_REPO} cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_BACKEND=OFF -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=./install -Bbuild/release -H.; + docker run -it -v $TRAVIS_BUILD_DIR:/home/user/MAVSDK:rw ${DOCKER_REPO} cmake --build build/release --target install -- -j2; + docker run -it -v $TRAVIS_BUILD_DIR:/home/user/MAVSDK:rw ${DOCKER_REPO} tools/create_packages.sh ./install .; + fi +- if [[ "${BUILD_TARGET}" = "rpm-x64" ]]; then + docker run -it -v $TRAVIS_BUILD_DIR:/home/user/MAVSDK:rw ${DOCKER_REPO} cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_BACKEND=OFF -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=./install -Bbuild/release -H.; + docker run -it -v $TRAVIS_BUILD_DIR:/home/user/MAVSDK:rw ${DOCKER_REPO} cmake --build build/release --target install -- -j2; + docker run -it -v $TRAVIS_BUILD_DIR:/home/user/MAVSDK:rw ${DOCKER_REPO} tools/create_packages.sh ./install .; + fi - if [[ "${BUILD_TARGET}" = "manylinux1-x64" ]]; then ./dockcross-manylinux1-x64 cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=build/manylinux1-x64/install -DBUILD_BACKEND=ON -DBUILD_SHARED_LIBS=OFF -j 2 -Bbuild/manylinux1-x64 -H.; ./dockcross-manylinux1-x64 cmake --build build/manylinux1-x64 -j 2 --target install; @@ -140,7 +192,6 @@ after_success: before_deploy: - if ! [ "$BEFORE_DEPLOY_RUN" ]; then export BEFORE_DEPLOY_RUN=1; - if [[ "${BUILD_TARGET}" = "manylinux1-x64" ]]; then mv build/manylinux1-x64/install/bin/mavsdk_server build/manylinux1-x64/install/bin/mavsdk_server_manylinux1-x64; fi; @@ -192,8 +243,8 @@ deploy: secure: hBX3pFWNZiDbz4yKnOjhLg3QS9Ubn1XePxSeIt2Btq5GzbomOPDCgpIFijBppliwj9oKc302EMnZSg2QWeAzFKn9UnmIflJ0E4iymYgwWdTJv+bSnYALJEmO8F6gF9FgRlPk8FCtZiECoTsa75w5TrEZKZpFpmzVYRiDu0eo6sEjW7UJPC0A2KSTXLrBCHSIZy/iasbGmuur4brG7NO0QdMOvDXvhsYfkXDRJFMTtTHvLiKJcqiunPfqARzf1H4x4iczRYscKu5Vn8Kmw3NANGkcIDvEj4ooih831EXxACRZw0VgycgNHOKRXKC9pZ4hLQMon+jxpQX+X8k/K5161oEkF/gCVKyFb31Pk/4Uwe81p1GJY2lAC7MDUxA98RKXhdvVYF2Cp44+IbF0YVoWRUtVAhknXRQ3Weg25kyVSu83q2nN2nZq2qGTnpNIbdN56s/F+uaFtipGEh+vmiv8rNUz+Z5MFrY2FQaSvBTFw9K4tNs9uc+VQd1bE7X5wh0yywEqUEw2nzqTB2xR+OubygUASbk2GLNdc254P0lrzCHbNM62Y7sRX06CM7hPlwhELEkVtUXZWJ0KuhQyLvRh3aPJ3Jj30EswTt/FGT1gzSP1FjjHBRZCK4P2D2rwJ5TMn2JrZKfPxmEd3kVmn6h80+gBbKgonGmZspd2SvPEI5g= file_glob: true file: - - "build/release/*.deb" - - "build/release/*.rpm" + - "*.deb" + - "*.rpm" on: repo: mavlink/MAVSDK tags: true diff --git a/Jenkinsfile b/Jenkinsfile deleted file mode 100644 index c79621544d..0000000000 --- a/Jenkinsfile +++ /dev/null @@ -1,402 +0,0 @@ -#!/usr/bin/env groovy - -pipeline { - agent none - - stages { - stage('Build') { - parallel { - - stage('Ubuntu 16.04 Debug') { - agent { - docker { - image 'mavsdk/mavsdk-ubuntu-16.04:2019-07-14' - args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw' - } - } - steps { - sh 'export' - sh 'git submodule deinit -f .' - sh 'git clean -ff -x -d .' - sh 'git submodule sync --recursive' - sh 'git submodule update --init --recursive --force' - sh 'ccache -z' - sh 'cmake -DCMAKE_BUILD_TYPE=Debug -DBUILD_BACKEND=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=${WORKSPACE}/install -DENABLE_MAVLINK_PASSTHROUGH=ON -Bbuild/debug -H.' - sh 'make -Cbuild/debug install' - sh 'build/debug/src/unit_tests_runner' - sh 'build/debug/src/backend/test/unit_tests_backend' - sh 'cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH="${WORKSPACE}/install;${WORKSPACE}/build/debug/third_party/install" -B./example/build -Hexample' - sh 'make -Cexample/build' - } - post { - always { - sh 'ccache -s' - sh 'git submodule deinit -f .' - sh 'git clean -ff -x -d .' - } - } - } - - stage('Ubuntu 16.04 Release') { - agent { - docker { - image 'mavsdk/mavsdk-ubuntu-16.04:2019-07-14' - args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw' - } - } - steps { - sh 'export' - sh 'git submodule deinit -f .' - sh 'git clean -ff -x -d .' - sh 'git submodule sync --recursive' - sh 'git submodule update --init --recursive --force' - sh 'ccache -z' - sh 'cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_BACKEND=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=${WORKSPACE}/install -DENABLE_MAVLINK_PASSTHROUGH=ON -Bbuild/release -H.' - sh 'make -Cbuild/release install' - sh 'build/release/src/unit_tests_runner' - sh 'build/release/src/backend/test/unit_tests_backend' - sh 'cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="${WORKSPACE}/install;${WORKSPACE}/build/release/third_party/install" -B./example/build -Hexample' - sh 'make -Cexample/build' - } - post { - always { - sh 'ccache -s' - sh 'git submodule deinit -f .' - sh 'git clean -ff -x -d .' - } - } - } - - stage('Ubuntu 18.04 Debug') { - agent { - docker { - image 'mavsdk/mavsdk-ubuntu-18.04:2019-07-14' - args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw' - } - } - steps { - sh 'export' - sh 'git submodule deinit -f .' - sh 'git clean -ff -x -d .' - sh 'git submodule sync --recursive' - sh 'git submodule update --init --recursive --force' - sh 'ccache -z' - sh 'cmake -DCMAKE_BUILD_TYPE=Debug -DBUILD_BACKEND=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=${WORKSPACE}/install -DENABLE_MAVLINK_PASSTHROUGH=ON -Bbuild/debug -H.' - sh 'make -Cbuild/debug install' - sh 'build/debug/src/unit_tests_runner' - sh 'build/debug/src/backend/test/unit_tests_backend' - sh 'cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH="${WORKSPACE}/install;${WORKSPACE}/build/debug/third_party/install" -B./example/build -Hexample' - sh 'make -Cexample/build' - } - post { - always { - sh 'ccache -s' - sh 'git submodule deinit -f .' - sh 'git clean -ff -x -d .' - } - } - } - - stage('Ubuntu 18.04 Release') { - agent { - docker { - image 'mavsdk/mavsdk-ubuntu-18.04:2019-07-14' - args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw' - } - } - steps { - sh 'export' - sh 'git submodule deinit -f .' - sh 'git clean -ff -x -d .' - sh 'git submodule sync --recursive' - sh 'git submodule update --init --recursive --force' - sh 'ccache -z' - sh 'cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_BACKEND=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=${WORKSPACE}/install -DENABLE_MAVLINK_PASSTHROUGH=ON -Bbuild/release -H.' - sh 'make -Cbuild/release install' - sh 'build/release/src/unit_tests_runner' - sh 'build/release/src/backend/test/unit_tests_backend' - sh 'cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="${WORKSPACE}/install;${WORKSPACE}/build/release/third_party/install" -B./example/build -Hexample' - sh 'make -Cexample/build' - } - post { - always { - sh 'ccache -s' - sh 'git submodule deinit -f .' - sh 'git clean -ff -x -d .' - } - } - } - - stage('Ubuntu 18.04 Debug PX4 SITL') { - agent { - docker { - image 'mavsdk/mavsdk-ubuntu-18.04-px4-sitl:2019-07-14' - args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw' - } - } - steps { - sh 'export' - sh 'git submodule deinit -f .' - sh 'git clean -ff -x -d .' - sh 'git submodule sync --recursive' - sh 'git submodule update --init --recursive --force' - sh 'ccache -z' - sh 'cmake -DCMAKE_BUILD_TYPE=Debug -DBUILD_BACKEND=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=${WORKSPACE}/install -DENABLE_MAVLINK_PASSTHROUGH=ON -Bbuild/debug -H.' - sh 'make -Cbuild/debug install' - sh 'cp -r /home/user/Firmware `pwd`/Firmware' - sh 'HOME=`pwd` PX4_SIM_SPEED_FACTOR=10 AUTOSTART_SITL=1 PX4_FIRMWARE_DIR=`pwd`/Firmware HEADLESS=1 build/debug/src/integration_tests/integration_tests_runner --gtest_filter="SitlTest.*"' - } - post { - always { - sh 'ccache -s' - sh 'git submodule deinit -f .' - sh 'git clean -ff -x -d .' - } - } - } - - stage('Fedora 29 Debug') { - agent { - docker { - image 'mavsdk/mavsdk-fedora-29:2019-07-14' - args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw' - } - } - steps { - sh 'export' - sh 'git submodule deinit -f .' - sh 'git clean -ff -x -d .' - sh 'git submodule sync --recursive' - sh 'git submodule update --init --recursive --force' - sh 'ccache -z' - sh 'cmake -DCMAKE_BUILD_TYPE=Debug -DBUILD_BACKEND=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=${WORKSPACE}/install -DENABLE_MAVLINK_PASSTHROUGH=ON -Bbuild/debug -H.' - sh 'make -Cbuild/debug install' - sh 'build/debug/src/unit_tests_runner' - sh 'build/debug/src/backend/test/unit_tests_backend' - sh 'cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH="${WORKSPACE}/install;${WORKSPACE}/build/debug/third_party/install" -B./example/build -Hexample' - sh 'make -Cexample/build' - } - post { - always { - sh 'ccache -s' - sh 'git submodule deinit -f .' - sh 'git clean -ff -x -d .' - } - } - } - - stage('Fedora 29 Release') { - agent { - docker { - image 'mavsdk/mavsdk-fedora-29:2019-07-14' - args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw' - } - } - steps { - sh 'export' - sh 'git submodule deinit -f .' - sh 'git clean -ff -x -d .' - sh 'git submodule sync --recursive' - sh 'git submodule update --init --recursive --force' - sh 'ccache -z' - sh 'cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_BACKEND=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=${WORKSPACE}/install -DENABLE_MAVLINK_PASSTHROUGH=ON -Bbuild/release -H.' - sh 'make -Cbuild/release install' - sh 'build/release/src/unit_tests_runner' - sh 'build/release/src/backend/test/unit_tests_backend' - sh 'cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="${WORKSPACE}/install;${WORKSPACE}/build/release/third_party/install" -B./example/build -Hexample' - sh 'make -Cexample/build' - } - post { - always { - sh 'ccache -s' - sh 'git submodule deinit -f .' - sh 'git clean -ff -x -d .' - } - } - } - - stage('Fedora 30 Debug') { - agent { - docker { - image 'mavsdk/mavsdk-fedora-30:2019-07-14' - args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw' - } - } - steps { - sh 'export' - sh 'git submodule deinit -f .' - sh 'git clean -ff -x -d .' - sh 'git submodule sync --recursive' - sh 'git submodule update --init --recursive --force' - sh 'ccache -z' - sh 'cmake -DCMAKE_BUILD_TYPE=Debug -DBUILD_BACKEND=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=${WORKSPACE}/install -DENABLE_MAVLINK_PASSTHROUGH=ON -Bbuild/debug -H.' - sh 'make -Cbuild/debug install' - sh 'build/debug/src/unit_tests_runner' - sh 'build/debug/src/backend/test/unit_tests_backend' - sh 'cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH="${WORKSPACE}/install;${WORKSPACE}/build/debug/third_party/install" -B./example/build -Hexample' - sh 'make -Cexample/build' - } - post { - always { - sh 'ccache -s' - sh 'git submodule deinit -f .' - sh 'git clean -ff -x -d .' - } - } - } - - stage('Fedora 30 Release') { - agent { - docker { - image 'mavsdk/mavsdk-fedora-30:2019-07-14' - args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw' - } - } - steps { - sh 'export' - sh 'git submodule deinit -f .' - sh 'git clean -ff -x -d .' - sh 'git submodule sync --recursive' - sh 'git submodule update --init --recursive --force' - sh 'ccache -z' - sh 'cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_BACKEND=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=${WORKSPACE}/install -DENABLE_MAVLINK_PASSTHROUGH=ON -Bbuild/release -H.' - sh 'make -Cbuild/release install' - sh 'build/release/src/unit_tests_runner' - sh 'build/release/src/backend/test/unit_tests_backend' - sh 'cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="${WORKSPACE}/install;${WORKSPACE}/build/release/third_party/install" -B./example/build -Hexample' - sh 'make -Cexample/build' - } - post { - always { - sh 'ccache -s' - sh 'git submodule deinit -f .' - sh 'git clean -ff -x -d .' - } - } - } - - stage('macOS Debug') { - agent { - label 'mac' - } - environment { - CCACHE_BASEDIR = "${env.WORKSPACE}" - } - steps { - sh 'export' - sh 'git submodule deinit -f .' - sh 'git clean -ff -x -d .' - sh 'git submodule sync --recursive' - sh 'git submodule update --init --recursive --force' - sh 'ccache -z' - sh 'cmake -DCMAKE_BUILD_TYPE=Debug -DBUILD_BACKEND=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=install -DENABLE_MAVLINK_PASSTHROUGH=ON -Bbuild/debug -H.' - sh 'make -Cbuild/debug install' - sh 'build/debug/src/unit_tests_runner' - sh 'build/debug/src/backend/test/unit_tests_backend' - sh 'cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH="${WORKSPACE}/install;${WORKSPACE}/build/debug/third_party/install" -B./example/build -Hexample' - sh 'make -Cexample/build' - } - post { - always { - sh 'ccache -s' - sh 'git submodule deinit -f .' - sh 'git clean -ff -x -d .' - } - } - } - - stage('macOS Release') { - agent { - label 'mac' - } - environment { - CCACHE_BASEDIR = "${env.WORKSPACE}" - } - steps { - sh 'export' - sh 'git submodule deinit -f .' - sh 'git clean -ff -x -d .' - sh 'git submodule sync --recursive' - sh 'git submodule update --init --recursive --force' - sh 'ccache -z' - sh 'cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_BACKEND=ON -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=install -DENABLE_MAVLINK_PASSTHROUGH=ON -Bbuild/release -H.' - sh 'make -Cbuild/release install' - sh 'build/release/src/unit_tests_runner' - sh 'build/release/src/backend/test/unit_tests_backend' - sh 'cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="${WORKSPACE}/install;${WORKSPACE}/build/release/third_party/install" -B./example/build -Hexample' - sh 'make -Cexample/build' - } - post { - always { - sh 'ccache -s' - sh 'git submodule deinit -f .' - sh 'git clean -ff -x -d .' - } - } - } - - } // parallel - } // Build - - stage('Test') { - parallel { - - stage('check style') { - agent { - docker { - image 'mavsdk/mavsdk-ubuntu-16.04:2019-07-14' - args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw' - } - } - steps { - sh 'export' - sh 'git submodule deinit -f .' - sh 'git clean -ff -x -d .' - sh '${WORKSPACE}/tools/fix_style.sh ${WORKSPACE}' - } - post { - always { - sh 'ccache -s' - sh 'git submodule deinit -f .' - sh 'git clean -ff -x -d .' - } - } - } - } // parallel - } // stage Test - - stage('Generate Docs') { - agent { - docker { - image 'mavsdk/mavsdk-ubuntu-16.04:2019-07-14' - args '-e CCACHE_BASEDIR=$WORKSPACE -v ${CCACHE_DIR}:${CCACHE_DIR}:rw' - } - } - steps { - sh 'export' - sh 'git submodule deinit -f .' - sh 'git clean -ff -x -d .' - sh 'git submodule sync --recursive' - sh 'git submodule update --init --recursive --force' - sh '${WORKSPACE}/tools/generate_docs.sh' - } - post { - always { - sh 'git submodule deinit -f .' - sh 'git clean -ff -x -d .' - } - } - } // stage Generate Docs - - } // stages - - environment { - CCACHE_DIR = '/tmp/ccache' - XDG_CACHE_HOME = '/tmp/.cache' // For go build cache. - } - - options { - buildDiscarder(logRotator(numToKeepStr: '10', artifactDaysToKeepStr: '30')) - timeout(time: 60, unit: 'MINUTES') - } -} diff --git a/tools/create_packages.sh b/tools/create_packages.sh index 0b76ddaec6..87ba9bde4b 100755 --- a/tools/create_packages.sh +++ b/tools/create_packages.sh @@ -38,7 +38,7 @@ common_args="--chdir ${working_dir}/install \ --name mavsdk \ --version ${version} \ --maintainer julian@oes.ch \ - --url https://sdk.dronecode.org \ + --url https://mavsdk.mavlink.io \ --license BSD-3-Clause \ --after-install ${working_dir}/run_ldconfig \ --after-remove ${working_dir}/run_ldconfig \ diff --git a/tools/run-sitl-tests.sh b/tools/run-sitl-tests.sh new file mode 100755 index 0000000000..6c53c0cdc1 --- /dev/null +++ b/tools/run-sitl-tests.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env sh + +set -e + +PWD=$(pwd) + +if [ -z ${PX4_FIRMWARE_DIR+x} ]; then + PX4_FIRMWARE_DIR=$PWD/../Firmware +fi + +NPROCS=$(nproc --all) + +cmake -DCMAKE_BUILD_TYPE=Debug -DBUILD_BACKEND=OFF -DBUILD_SHARED_LIBS=ON -Bbuild/debug -H.; +cmake --build build/debug -- -j$NPROCS; +PX4_SIM_SPEED_FACTOR=10 AUTOSTART_SITL=1 PX4_FIRMWARE_DIR=$PX4_FIRMWARE_DIR HEADLESS=1 build/debug/src/integration_tests/integration_tests_runner --gtest_filter="SitlTest.*"