Skip to content
This repository was archived by the owner on Jul 8, 2022. It is now read-only.

Commit 62e9818

Browse files
author
Ingvord
authored
Backport #369: Integrate with Coveralls (#473)
* Backport #369: Integrate with Coveralls [25min] * fix build with coveralls [5min] * Update .travis.yml Fix coveralls build * Backport #369: Integrate with Coveralls; run coveralls [1h] * disable log4tango bench test * Update run.sh [0,5h] * some refactoring [1h] * Make .travis/**.sh executable * Update coveralls.cmake [5min] * Update README.md * add coverage report path [0,5h] * integrate sonar and coveralls [0,25h]
1 parent 356f3ed commit 62e9818

File tree

18 files changed

+125
-98
lines changed

18 files changed

+125
-98
lines changed

.travis.yml

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ language: cpp
55

66
env:
77
matrix:
8-
- OS_TYPE=debian9 CMAKE_BUILD_TYPE=DEBUG SONAR_SCANNER=OFF
9-
- OS_TYPE=debian9 CMAKE_BUILD_TYPE=RELEASE SONAR_SCANNER=OFF
10-
- OS_TYPE=debian8 CMAKE_BUILD_TYPE=DEBUG SONAR_SCANNER=ON
11-
- OS_TYPE=debian8 CMAKE_BUILD_TYPE=RELEASE SONAR_SCANNER=OFF
12-
- OS_TYPE=debian7 CMAKE_BUILD_TYPE=RELEASE SONAR_SCANNER=OFF
8+
- OS_TYPE=debian9 CMAKE_BUILD_TYPE=DEBUG SONAR_SCANNER=OFF COVERALLS=OFF
9+
- OS_TYPE=debian9 CMAKE_BUILD_TYPE=RELEASE SONAR_SCANNER=OFF COVERALLS=OFF
10+
- OS_TYPE=debian8 CMAKE_BUILD_TYPE=Debug SONAR_SCANNER=ON COVERALLS=ON
11+
- OS_TYPE=debian8 CMAKE_BUILD_TYPE=RELEASE SONAR_SCANNER=OFF COVERALLS=OFF
12+
- OS_TYPE=debian7 CMAKE_BUILD_TYPE=RELEASE SONAR_SCANNER=OFF COVERALLS=OFF
1313
# - OS_TYPE=debian7 CMAKE_BUILD_TYPE=DEBUG
1414
# - OS_TYPE=win32
1515
# etc
@@ -25,27 +25,33 @@ addons:
2525
organization: "tango-controls"
2626
token:
2727
secure: ${SONAR_TOKEN}
28+
apt:
29+
update: true
2830

2931
before_install:
30-
- chmod +x .travis/${OS_TYPE}/before_install.sh
31-
- .travis/${OS_TYPE}/before_install.sh
3232
- docker pull tangocs/mysql:9.2.2
3333
- docker pull tangocs/tango-cs:latest
34+
- git clone https://github.com/JoakimSoderberg/coveralls-cmake.git
35+
- git clone -b v4.2.2 https://${CI_USER_TOKEN}@github.com/zeromq/cppzmq.git cppzmq
3436
- git clone -b tango-9-lts https://${CI_USER_TOKEN}@github.com/tango-controls/tango-idl.git idl
35-
- chmod +x .travis/${OS_TYPE}/run.sh
37+
- sudo apt-get install -y gcovr
3638

3739
before_script:
3840
- docker run --name mysql_db -e MYSQL_ROOT_PASSWORD=root -d tangocs/mysql:9.2.2 --sql-mode=""
3941
- CONTAINER=$(docker run --name tango_cs -e TANGO_HOST=127.0.0.1:10000 -e MYSQL_HOST=mysql_db:3306 -e MYSQL_USER=tango -e MYSQL_PASSWORD=tango -e MYSQL_DATABASE=tango --link mysql_db:mysql_db -d tangocs/tango-cs:latest)
4042
- IPADDR=$(docker inspect -f '{{ .NetworkSettings.IPAddress }}' $CONTAINER)
4143
- TANGO_HOST=${IPADDR}:10000
4244
- docker build --build-arg APP_UID=$(id -u) --build-arg APP_GID=$(id -g) -t cpp_tango .travis/${OS_TYPE}
43-
- docker run --name cpp_tango -e TANGO_HOST=${TANGO_HOST} -e BINTRAY_USER_NAME=tango-ci -e BINTRAY_API_KEY=${CI_BINTRAY_API_KEY} --link tango_cs:tango_cs -v `pwd`:/home/tango/src -v `pwd`/idl:/home/tango/idl -v `pwd`/cppzmq:/home/tango/cppzmq -dit cpp_tango
45+
- docker run --name cpp_tango -e TANGO_HOST=${TANGO_HOST} -e BINTRAY_USER_NAME=tango-ci -e BINTRAY_API_KEY=${CI_BINTRAY_API_KEY} -e COVERALLS_REPO_TOKEN=${COVERALLS_REPO_TOKEN} --link tango_cs:tango_cs -v `pwd`:/home/tango/src -v `pwd`/idl:/home/tango/idl -v `pwd`/cppzmq:/home/tango/cppzmq -v `pwd`/coveralls-cmake:/home/tango/coveralls-cmake -dit cpp_tango
46+
- .travis/install_tango_idl.sh
47+
- .travis/install_cppzmq.sh
4448

4549
script:
4650
- .travis/${OS_TYPE}/run.sh
51+
- .travis/test.sh COVERALLS=OFF
4752

4853
after_success:
54+
- test ${COVERALLS} = "ON" && gcovr -r . -x --object-directory=/home/tango/src/build > report.xml
4955
- test ${SONAR_SCANNER} = "ON" && sonar-scanner
5056

5157
deploy:

.travis/debian7/Dockerfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ RUN /tmp/cmake-install.sh --skip-license --exclude-subdir
2424

2525
RUN apt-get install -y omniidl libomniorb4-dev libcos4-dev libomnithread3-dev libzmq3-dev
2626

27+
RUN apt-get update && apt-get install -y curl
28+
2729
RUN groupadd -g "$APP_GID" tango
2830

2931
RUN useradd -u "$APP_UID" -g "$APP_GID" -ms /bin/bash tango

.travis/debian7/before_install.sh

Lines changed: 0 additions & 2 deletions
This file was deleted.

.travis/debian7/run.sh

100644100755
Lines changed: 2 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,6 @@
11
#!/usr/bin/env bash
2-
docker exec cpp_tango mkdir -p /home/tango/idl/build
3-
docker exec cpp_tango mkdir -p /home/tango/cppzmq/build
4-
docker exec cpp_tango mkdir -p /home/tango/src/build
52

6-
echo "Build cppzmq"
7-
docker exec cpp_tango cmake -H/home/tango/cppzmq -B/home/tango/cppzmq/build -DCMAKE_INSTALL_PREFIX=/home/tango
8-
if [ $? -ne "0" ]
9-
then
10-
exit -1
11-
fi
12-
echo "Install cppzmq"
13-
docker exec cpp_tango make -C /home/tango/cppzmq/build install
14-
if [ $? -ne "0" ]
15-
then
16-
exit -1
17-
fi
18-
19-
echo "Build tango-idl"
20-
docker exec cpp_tango cmake -H/home/tango/idl -B/home/tango/idl/build -DCMAKE_INSTALL_PREFIX=/home/tango
21-
if [ $? -ne "0" ]
22-
then
23-
exit -1
24-
fi
25-
echo "Install tango-idl"
26-
docker exec cpp_tango make -C /home/tango/idl/build install
3+
docker exec cpp_tango mkdir -p /home/tango/src/build
274

285
echo "Build cppTango:$CMAKE_BUILD_TYPE"
296
docker exec cpp_tango cmake -H/home/tango/src -B/home/tango/src/build -DCMAKE_VERBOSE_MAKEFILE=true -DCPPZMQ_BASE=/home/tango -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE
@@ -32,8 +9,4 @@ then
329
exit -1
3310
fi
3411

35-
docker exec cpp_tango make -C /home/tango/src/build -j 2
36-
echo "Test log4tango"
37-
docker exec cpp_tango /bin/sh -c 'cd /home/tango/src/build/log4tango; exec ctest -V'
38-
echo "Test cppTango"
39-
docker exec cpp_tango /bin/sh -c 'cd /home/tango/src/build/cpp_test_suite; exec ctest -V'
12+
docker exec cpp_tango make -C /home/tango/src/build -j 2

.travis/debian8/Dockerfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ RUN apt-get install -y curl lsb-release
1414

1515
RUN apt-get install -y omniidl libomniorb4-dev libcos4-dev libomnithread3-dev libzmq3-dev
1616

17+
RUN apt-get update && apt-get install -y curl
18+
1719
RUN groupadd -g "$APP_GID" tango
1820

1921
RUN useradd -u "$APP_UID" -g "$APP_GID" -ms /bin/bash tango

.travis/debian8/before_install.sh

Lines changed: 0 additions & 4 deletions
This file was deleted.

.travis/debian8/run.sh

100644100755
Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,16 @@
11
#!/usr/bin/env bash
2-
docker exec cpp_tango mkdir -p /home/tango/idl/build
2+
#this script is executed from within Travis environment. TANGO_HOST is already set
3+
echo "TANGO_HOST=$TANGO_HOST"
4+
35
docker exec cpp_tango mkdir -p /home/tango/src/build
46

5-
echo "Build tango-idl"
6-
docker exec cpp_tango cmake -H/home/tango/idl -B/home/tango/idl/build -DCMAKE_INSTALL_PREFIX=/home/tango
7-
if [ $? -ne "0" ]
8-
then
9-
exit -1
10-
fi
11-
echo "Install tango-idl"
12-
docker exec cpp_tango make -C /home/tango/idl/build install
7+
echo "Run cmake cppTango in $CMAKE_BUILD_TYPE mode"
8+
echo "Using COVERALLS=$COVERALLS"
139

14-
echo "Build cppTango:$CMAKE_BUILD_TYPE"
15-
docker exec cpp_tango cmake -H/home/tango/src -B/home/tango/src/build -DCMAKE_VERBOSE_MAKEFILE=true -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE
10+
docker exec cpp_tango cmake -H/home/tango/src -B/home/tango/src/build -DCOVERALLS=$COVERALLS -DCOVERALLS_MODULE_PATH=/home/tango/coveralls-cmake/cmake -DCMAKE_VERBOSE_MAKEFILE=true -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE
1611
if [ $? -ne "0" ]
1712
then
1813
exit -1
1914
fi
2015

21-
docker exec cpp_tango make -C /home/tango/src/build -j 2
22-
echo "Test log4tango"
23-
docker exec cpp_tango /bin/sh -c 'cd /home/tango/src/build/log4tango; exec ctest -V'
24-
echo "Test cppTango"
25-
docker exec cpp_tango /bin/sh -c 'cd /home/tango/src/build/cpp_test_suite; exec ctest -V'
16+
docker exec cpp_tango make -C /home/tango/src/build -j 2

.travis/debian9/before_install.sh

Lines changed: 0 additions & 2 deletions
This file was deleted.

.travis/debian9/run.sh

100644100755
Lines changed: 1 addition & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,11 @@
11
#!/usr/bin/env bash
2-
docker exec cpp_tango mkdir -p /home/tango/idl/build
3-
docker exec cpp_tango mkdir -p /home/tango/cppzmq/build
42
docker exec cpp_tango mkdir -p /home/tango/src/build
53

6-
echo "Build cppzmq"
7-
docker exec cpp_tango cmake -H/home/tango/cppzmq -B/home/tango/cppzmq/build -DCMAKE_INSTALL_PREFIX=/home/tango
8-
if [ $? -ne "0" ]
9-
then
10-
exit -1
11-
fi
12-
echo "Install cppzmq"
13-
docker exec cpp_tango make -C /home/tango/cppzmq/build install
14-
if [ $? -ne "0" ]
15-
then
16-
exit -1
17-
fi
18-
19-
echo "Build tango-idl"
20-
docker exec cpp_tango cmake -H/home/tango/idl -B/home/tango/idl/build -DCMAKE_INSTALL_PREFIX=/home/tango
21-
if [ $? -ne "0" ]
22-
then
23-
exit -1
24-
fi
25-
echo "Install tango-idl"
26-
docker exec cpp_tango make -C /home/tango/idl/build install
27-
284
echo "Build cppTango:$CMAKE_BUILD_TYPE"
295
docker exec cpp_tango cmake -H/home/tango/src -B/home/tango/src/build -DCMAKE_VERBOSE_MAKEFILE=true -DCPPZMQ_BASE=/home/tango -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE
306
if [ $? -ne "0" ]
317
then
328
exit -1
339
fi
3410

35-
docker exec cpp_tango make -C /home/tango/src/build -j 2
36-
echo "Test log4tango"
37-
docker exec cpp_tango /bin/sh -c 'cd /home/tango/src/build/log4tango; exec ctest -V'
38-
echo "Test cppTango"
39-
docker exec cpp_tango /bin/sh -c 'cd /home/tango/src/build/cpp_test_suite; exec ctest -V'
11+
docker exec cpp_tango make -C /home/tango/src/build -j 2

.travis/deploy.sh

100644100755
File mode changed.

0 commit comments

Comments
 (0)