Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Add SITL integration tests in CI #499

Closed
wants to merge 8 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
3 changes: 2 additions & 1 deletion Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ pipeline {
sh 'git submodule deinit -f .'
sh 'git clean -ff -x -d .'
sh 'git submodule update --init --recursive --force'
sh 'make BUILD_TYPE=Debug'
sh 'make BUILD_TYPE=Debug INSTALL_PREFIX=./install default install'
sh '(cd example/takeoff_land && mkdir build && cd build && cmake -DLOCAL_INSTALL:BOOL=ON .. && make)'
}
}
stage('Ubuntu 16.04 Release') {
Expand Down
2 changes: 1 addition & 1 deletion appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ build_script:
- cd example\takeoff_land
- md build
- cd build
- cmake .. -G "Visual Studio 15 2017 Win64"
- cmake .. -G "Visual Studio 15 2017 Win64" -DLOCAL_INSTALL:BOOL=ON
- if "%configuration%"=="Debug" (
cmake --build . --config Debug
) else (
Expand Down
21 changes: 21 additions & 0 deletions docker/0002-forward-mavlink-in-docker.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
diff --git a/posix-configs/SITL/init/ekf2/iris b/posix-configs/SITL/init/ekf2/iris
index 91ebb0b3b8..d5d7dad3ca 100644
--- a/posix-configs/SITL/init/ekf2/iris
+++ b/posix-configs/SITL/init/ekf2/iris
@@ -61,8 +61,8 @@ ekf2 start
mc_pos_control start
mc_att_control start
mixer load /dev/pwm_output0 ROMFS/px4fmu_common/mixers/quad_w.main.mix
-mavlink start -x -u 14556 -r 4000000
-mavlink start -x -u 14557 -r 4000000 -m onboard -o 14540
+mavlink start -x -u 14556 -r 4000000 -t 172.17.0.1
+mavlink start -x -u 14557 -r 4000000 -m onboard -o 14540 -t 172.17.0.1
mavlink stream -r 50 -s POSITION_TARGET_LOCAL_NED -u 14556
mavlink stream -r 50 -s LOCAL_POSITION_NED -u 14556
mavlink stream -r 50 -s GLOBAL_POSITION_INT -u 14556
diff --git a/src/modules/uavcan/libuavcan b/src/modules/uavcan/libuavcan
--- a/src/modules/uavcan/libuavcan
+++ b/src/modules/uavcan/libuavcan
@@ -1 +1 @@
-Subproject commit 231b221b64265db4e98f86e53721316f9e17e143
+Subproject commit 231b221b64265db4e98f86e53721316f9e17e143-dirty
37 changes: 37 additions & 0 deletions docker/Dockerfile-SITL-Gazebo-integration-test
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
FROM ubuntu:16.04

ENV WORKSPACE_DIR /root
ENV FIRMWARE_DIR ${WORKSPACE_DIR}/Firmware

RUN apt-get update && \
apt-get install -y cmake \
curl \
git \
libeigen3-dev \
libopencv-dev \
libroscpp-dev \
protobuf-compiler \
python-jinja2 \
python-empy \
python-toml \
python-numpy \
unzip

RUN curl -ssL http://get.gazebosim.org | sh

RUN git clone https://github.com/PX4/Firmware.git ${FIRMWARE_DIR}
RUN git -C ${FIRMWARE_DIR} checkout v1.8.0
RUN git -C ${FIRMWARE_DIR} submodule update --init --recursive

COPY 0002-forward-mavlink-in-docker.patch ${FIRMWARE_DIR}
RUN git -C ${FIRMWARE_DIR} apply ${FIRMWARE_DIR}/0002-forward-mavlink-in-docker.patch

RUN ["/bin/bash", "-c", " \
cd ${FIRMWARE_DIR} && \
DONT_RUN=1 make posix gazebo_iris \
"]

ENTRYPOINT ["/bin/bash", "-c", " \
cd ${FIRMWARE_DIR} && \
HEADLESS=1 make posix gazebo_iris \
"]
22 changes: 14 additions & 8 deletions example/takeoff_land/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,22 @@ cmake_minimum_required(VERSION 2.8.12)

project(takeoff_and_land)

add_definitions(-std=c++11)

if(NOT MSVC)
add_definitions("-std=c++11 -Wall -Wextra -Werror")
# Line below required if /usr/local/include is not in your default includes
#include_directories(/usr/local/include)
# Line below required if /usr/local/lib is not in your default linker path
#link_directories(/usr/local/lib)
add_definitions(-Wall -Wextra -Werror)
else()
add_definitions("-std=c++11 -WX -W2")
include_directories(${CMAKE_SOURCE_DIR}/../../install/include)
link_directories(${CMAKE_SOURCE_DIR}/../../install/lib)
add_definitions(-WX -W2)
endif()

# Line below required if /usr/local/include is not in your default includes
#include_directories(/usr/local/include)
# Line below required if /usr/local/lib is not in your default linker path
#link_directories(/usr/local/lib)

if (LOCAL_INSTALL)
include_directories(${CMAKE_SOURCE_DIR}/../../build/default/install/include)
link_directories(${CMAKE_SOURCE_DIR}/../../build/default/install/lib)
endif()

add_executable(takeoff_and_land
Expand Down