forked from xdspacelab/openvslam
-
Notifications
You must be signed in to change notification settings - Fork 1
/
wercker.yml
147 lines (142 loc) · 5.61 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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
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"
after-steps:
- install-packages:
packages: ruby
- wantedly/pretty-slack-notify:
webhook_url: $SLACK_WEBHOOK_URL
passed_message: "there are no files which clang-format should applied to :smile:"
failed_message: "there are some files which clang-format should applied to :dizzy_face:"
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=ON -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=ON -DUSE_PANGOLIN_VIEWER=OFF -DUSE_SOCKET_PUBLISHER=ON -DUSE_STACK_TRACE_LOGGER=ON -DBOW_FRAMEWORK=DBoW2 -DBUILD_TESTS=ON ..
make -j $(($(nproc) / 2))
after-steps:
- install-packages:
packages: ruby
- wantedly/pretty-slack-notify:
webhook_url: $SLACK_WEBHOOK_URL
passed_message: "succeeded in building with GUI :smile:"
failed_message: "failed in building with GUI :dizzy_face:"
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=ON -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
after-steps:
- install-packages:
packages: ruby
- wantedly/pretty-slack-notify:
webhook_url: $SLACK_WEBHOOK_URL
passed_message: "succeeded in building and testing without GUI :smile:"
failed_message: "failed in building and testing without GUI :dizzy_face:"
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=ON -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="1JPB4SFrv8Ca4qquf2CrnFtP2BPWlQAYe"
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
after-steps:
- install-packages:
packages: ruby
- wantedly/pretty-slack-notify:
webhook_url: $SLACK_WEBHOOK_URL
passed_message: "succeeded in building the tutorial :smile:"
failed_message: "failed in building the tutorial :dizzy_face:"