forked from xdspacelab/openvslam
-
Notifications
You must be signed in to change notification settings - Fork 7
/
wercker.yml
119 lines (114 loc) · 4.5 KB
/
wercker.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
box:
id: shinsumicco/openvslam-env
no-response-timeout: 20
clang_format:
steps:
- script:
name: apply clang-format
code: |
DIRS_TO_EXCLUDE=".git 3rd cmake docs build .idea cmake-build-debug cmake-build-release"
for DIR in ${DIRS_TO_EXCLUDE}; do
EXCLUDE_CMD="${EXCLUDE_CMD} -type d -name ${DIR} -prune -o"
done
FILES=$(find . ${EXCLUDE_CMD} -type f -regex ".*\.\(c\|h\|cc\|hh\|cpp\|hpp\)" -print)
for FILE in ${FILES}; do
RET=$(diff ${FILE} <(clang-format-6.0 -style=file ${FILE}) 2>&1 || true)
if [ -n "${RET}" ]; then
FILES_TO_FORMAT="${FILES_TO_FORMAT} ${FILE}"
fi
done
- script:
name: check clang-format necessity
code: |
if [ -n "${FILES_TO_FORMAT}" ]; then
echo "Please apply clang-format to following files:"
for FILE in ${FILES_TO_FORMAT}; do echo "* ${FILE}"; done
exit 1
fi
echo "There is no file which needs clang-format"
build_with_gui:
steps:
- script:
name: setup ccache
code: |
export CCACHE_DIR=${WERCKER_CACHE_DIR}/.ccache
ccache -M 950M
ccache -s
- script:
name: cmake and make with pangolin viewer
code: |
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_WITH_MARCH_NATIVE=OFF -DUSE_PANGOLIN_VIEWER=ON -DUSE_SOCKET_PUBLISHER=OFF -DUSE_STACK_TRACE_LOGGER=ON -DBOW_FRAMEWORK=DBoW2 -DBUILD_TESTS=ON ..
make -j $(($(nproc) / 2))
- script:
name: cmake and make with socket publisher
code: |
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_WITH_MARCH_NATIVE=OFF -DUSE_PANGOLIN_VIEWER=OFF -DUSE_SOCKET_PUBLISHER=ON -DUSE_STACK_TRACE_LOGGER=ON -DBOW_FRAMEWORK=DBoW2 -DBUILD_TESTS=ON ..
make -j $(($(nproc) / 2))
build_without_gui:
steps:
- script:
name: setup ccache
code: |
export CCACHE_DIR=${WERCKER_CACHE_DIR}/.ccache
ccache -M 950M
ccache -s
- script:
name: cmake and make
code: |
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug -DBUILD_WITH_MARCH_NATIVE=OFF -DUSE_PANGOLIN_VIEWER=OFF -DUSE_SOCKET_PUBLISHER=OFF -DUSE_STACK_TRACE_LOGGER=ON -DBOW_FRAMEWORK=DBoW2 -DBUILD_TESTS=ON -DUSE_SSE_ORB=ON ..
make -j $(($(nproc) / 2))
- script:
name: unit test
code: |
cd build
ctest -V
- script:
name: SLAM test (monocular) with EuRoC MAV dataset
code: |
cd build
./run_euroc_slam -v /datasets/orb_vocab/orb_vocab.dbow2 -d /datasets/EuRoC/MH_04 -c ../example/euroc/EuRoC_mono.yaml --frame-skip 2 --no-sleep --debug --eval-log --map-db euroc_mono.msg
- script:
name: SLAM test (stereo) with EuRoC MAV dataset
code: |
cd build
./run_euroc_slam -v /datasets/orb_vocab/orb_vocab.dbow2 -d /datasets/EuRoC/MH_04 -c ../example/euroc/EuRoC_stereo.yaml --frame-skip 2 --no-sleep --debug --eval-log --map-db euroc_stereo.msg
build_tutorial:
steps:
- script:
name: setup ccache
code: |
export CCACHE_DIR=${WERCKER_CACHE_DIR}/.ccache
ccache -M 950M
ccache -s
- script:
name: cmake and make
code: |
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_WITH_MARCH_NATIVE=OFF -DUSE_PANGOLIN_VIEWER=OFF -DUSE_SOCKET_PUBLISHER=OFF -DUSE_STACK_TRACE_LOGGER=ON -DBOW_FRAMEWORK=DBoW2 -DBUILD_TESTS=ON -DUSE_OPENMP=OFF ..
make -j $(($(nproc) / 2))
- script:
name: download a dataset
code: |
cd build
FILE_ID="1TXjREzkht3iRz__qVx4oYRW1GXsv37ct"
curl -sc /tmp/cookie "https://drive.google.com/uc?export=download&id=${FILE_ID}" > /dev/null
CODE="$(awk '/_warning_/ {print $NF}' /tmp/cookie)"
curl -sLb /tmp/cookie "https://drive.google.com/uc?export=download&confirm=${CODE}&id=${FILE_ID}" -o video_for_ci_1.zip
unzip video_for_ci_1.zip
rm video_for_ci_1.zip
- script:
name: mapping test with the tutorial
code: |
cd build
./run_video_slam -v /datasets/orb_vocab/orb_vocab.dbow2 -m ./video_for_ci_1/video.mp4 -c ./video_for_ci_1/config.yaml --frame-skip 3 --no-sleep --debug --eval-log --map-db map.msg
- script:
name: localization test with the tutorial
code: |
cd build
./run_video_localization -v /datasets/orb_vocab/orb_vocab.dbow2 -m ./video_for_ci_1/video.mp4 -c ./video_for_ci_1/config.yaml --frame-skip 3 --no-sleep --debug --eval-log --map-db map.msg