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

Commit 281c5f1

Browse files
authored
Merge branch 'tango-9-lts' into allow_different_path_for_cppzmq
2 parents 59cda6e + 464f5b1 commit 281c5f1

File tree

175 files changed

+1877
-3060
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

175 files changed

+1877
-3060
lines changed

.travis.yml

Lines changed: 18 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,14 @@ env:
1212
- CMAKE_BUILD_TYPE=Debug
1313
- TANGO_USE_USING_NAMESPACE=ON
1414
matrix:
15-
- OS_TYPE=gcc-latest RUN_TESTS=OFF WARNINGS_AS_ERRORS=ON TANGO_USE_USING_NAMESPACE=OFF
15+
- OS_TYPE=llvm-latest RUN_TESTS=OFF WARNINGS_AS_ERRORS=ON TANGO_USE_USING_NAMESPACE=OFF USE_PCH=OFF
16+
- OS_TYPE=gcc-latest RUN_TESTS=OFF WARNINGS_AS_ERRORS=ON TANGO_USE_USING_NAMESPACE=OFF USE_PCH=OFF
17+
- OS_TYPE=ubuntu-20.04
1618
- OS_TYPE=debian10
1719
- OS_TYPE=debian10 USE_PCH=OFF RUN_TESTS=OFF
1820
- OS_TYPE=debian10 CMAKE_BUILD_TYPE=Release
1921
- OS_TYPE=debian9
20-
- OS_TYPE=debian8 STOCK_CPPZMQ=OFF
21-
- OS_TYPE=debian7
22+
- OS_TYPE=debian8 SONAR_SCANNER=ON COVERALLS=ON STOCK_CPPZMQ=OFF
2223

2324
notifications:
2425
email: false
@@ -44,77 +45,37 @@ before_install:
4445
- git clone https://github.com/JoakimSoderberg/coveralls-cmake.git
4546
- (test ${STOCK_CPPZMQ} = "OFF" && git clone -b v4.2.2 https://${CI_USER_TOKEN}@github.com/zeromq/cppzmq.git cppzmq) || mkdir cppzmq
4647
- git clone -b tango-9-lts https://${CI_USER_TOKEN}@github.com/tango-controls/tango-idl.git idl
48+
- git clone -b Release_1.15 https://github.com/tango-controls/tango_admin.git
4749
- wget https://sonarcloud.io/static/cpp/build-wrapper-linux-x86.zip && unzip build-wrapper-linux-x86.zip
4850

4951
before_script:
5052
- >
51-
docker run
52-
--rm
53-
--name mysql_db
54-
-e MYSQL_ROOT_PASSWORD=root
55-
-e MYSQL_INITDB_SKIP_TZINFO=1
56-
-d
57-
tangocs/mysql:9.2.2
58-
--sql-mode=""
59-
--innodb=OFF
60-
--default-storage-engine=MyISAM
61-
- >
62-
docker run
63-
--rm
64-
--name mysql_db2
65-
-e MYSQL_ROOT_PASSWORD=root
66-
-e MYSQL_INITDB_SKIP_TZINFO=1
67-
-d
68-
tangocs/mysql:9.2.2
69-
--sql-mode=""
70-
--innodb=OFF
71-
--default-storage-engine=MyISAM
72-
- >
73-
docker run
74-
--rm
75-
--name tango_cs
76-
-e TANGO_HOST=127.0.0.1:10000
77-
-e MYSQL_HOST=mysql_db:3306
78-
-e MYSQL_USER=tango
79-
-e MYSQL_PASSWORD=tango
80-
-e MYSQL_DATABASE=tango
81-
--link mysql_db:mysq_db
82-
-d
83-
tangocs/tango-cs:latest
84-
- >
85-
docker run
86-
--rm
87-
--name tango_cs2
88-
-e TANGO_HOST=127.0.0.1:10000
89-
-e MYSQL_HOST=mysql_db2:3306
90-
-e MYSQL_USER=tango
91-
-e MYSQL_PASSWORD=tango
92-
-e MYSQL_DATABASE=tango
93-
--link mysql_db2:mysq_db2
94-
-d
95-
tangocs/tango-cs:latest
96-
- TANGO_HOST_IP=$(docker inspect -f '{{ .NetworkSettings.IPAddress }}' tango_cs)
97-
- TANGO_HOST_IP2=$(docker inspect -f '{{ .NetworkSettings.IPAddress }}' tango_cs2)
98-
- TANGO_HOST=${TANGO_HOST_IP}:10000
99-
- docker build --build-arg APP_UID=$(id -u) --build-arg APP_GID=$(id -g) -t cpp_tango .travis/${OS_TYPE}
53+
docker build
54+
--build-arg APP_UID=$(id -u)
55+
--build-arg APP_GID=$(id -g)
56+
-t cpp_tango
57+
.travis/${OS_TYPE}
10058
- >
10159
docker run
10260
--rm
10361
--name cpp_tango
10462
-e TANGO_HOST=${TANGO_HOST}
105-
-e TANGO_HOST2=${TANGO_HOST_IP2}:10000
10663
-e BINTRAY_USER_NAME=tango-ci
10764
-e BINTRAY_API_KEY=${CI_BINTRAY_API_KEY}
10865
-e COVERALLS_REPO_TOKEN=${COVERALLS_REPO_TOKEN}
109-
--link tango_cs
110-
--link tango_cs2
11166
-v `pwd`:/home/tango/src
11267
-v `pwd`/idl:/home/tango/idl
11368
-v `pwd`/cppzmq:/home/tango/cppzmq
69+
-v `pwd`/tango_admin:/home/tango/tango_admin
11470
-v `pwd`/coveralls-cmake:/home/tango/coveralls-cmake
11571
-v `pwd`/build-wrapper-linux-x86:/home/tango/build-wrapper-linux-x86
72+
-v /var/run/docker.sock:/var/run/docker.sock
11673
-dit
11774
cpp_tango
75+
- >
76+
docker exec -u root cpp_tango
77+
groupadd -g $(grep docker /etc/group | awk -F ':' '{print $3}') dockerhost || true
78+
- docker exec -u root cpp_tango usermod -a -G dockerhost tango || true
11879
- .travis/install_tango_idl.sh
11980
- (test ${STOCK_CPPZMQ} = "OFF" && .travis/install_cppzmq.sh) || true
12081
#work around gcov ignored by sonar
@@ -123,6 +84,8 @@ before_script:
12384
script:
12485
- set -e
12586
- .travis/run.sh
87+
- .travis/install_tango.sh
88+
- .travis/install_tango_admin.sh
12689
- .travis/test.sh
12790
- set +e
12891

@@ -132,11 +95,8 @@ after_success:
13295
deploy:
13396
- provider: script
13497
script: bash .travis/deploy.sh
135-
skip_cleanup: true
13698
on:
13799
tags: true
138100

139101
after-script:
140102
- docker stop cpp_tango
141-
- docker stop tango_cs tango_cs2
142-
- docker stop mysql_db mysql_db2

.travis/debian10/Dockerfile

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,24 @@ RUN apt-get update && apt-get install -y \
2020
omniidl \
2121
python2
2222

23+
RUN apt-get install -y \
24+
apt-transport-https \
25+
ca-certificates \
26+
curl \
27+
gnupg2 \
28+
software-properties-common \
29+
&& curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - \
30+
&& add-apt-repository \
31+
"deb [arch=amd64] https://download.docker.com/linux/debian buster stable" \
32+
&& apt-get update \
33+
&& apt-get install -y docker-ce
34+
2335
RUN groupadd -g "$APP_GID" tango
2436

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

39+
RUN usermod -a -G docker tango
40+
2741
ENV PKG_CONFIG_PATH=/home/tango/lib/pkgconfig
2842

2943
USER tango

.travis/debian8/Dockerfile

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,38 @@ RUN sed -i '/jessie-updates/d' /etc/apt/sources.list # Now archived
1111
RUN apt-get update && apt-get install -y \
1212
apt-utils \
1313
build-essential \
14-
cmake \
1514
curl \
1615
git \
1716
lsb-release \
1817
omniidl \
1918
libomniorb4-dev \
2019
libcos4-dev \
2120
libomnithread3-dev \
22-
libzmq3-dev
21+
libzmq3-dev \
22+
wget
23+
24+
RUN wget --no-check-certificate https://cmake.org/files/v3.10/cmake-3.10.0-Linux-x86_64.sh -O /tmp/cmake-install.sh \
25+
&& chmod +x /tmp/cmake-install.sh \
26+
&& /tmp/cmake-install.sh --skip-license --exclude-subdir
27+
28+
RUN apt-get install -y \
29+
apt-transport-https \
30+
ca-certificates \
31+
curl \
32+
gnupg2 \
33+
software-properties-common \
34+
&& curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - \
35+
&& add-apt-repository \
36+
"deb [arch=amd64] https://download.docker.com/linux/debian jessie stable" \
37+
&& apt-get update \
38+
&& apt-get install -y docker-ce
2339

2440
RUN groupadd -g "$APP_GID" tango
2541

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

44+
RUN usermod -a -G docker tango
45+
2846
ENV PKG_CONFIG_PATH=/home/tango/lib/pkgconfig
2947

3048
USER tango

.travis/debian9/Dockerfile

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,24 @@ RUN apt-get update && apt-get install -y \
1919
libomnithread3-dev \
2020
libzmq3-dev
2121

22+
RUN apt-get install -y \
23+
apt-transport-https \
24+
ca-certificates \
25+
curl \
26+
gnupg2 \
27+
software-properties-common \
28+
&& curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - \
29+
&& add-apt-repository \
30+
"deb [arch=amd64] https://download.docker.com/linux/debian stretch stable" \
31+
&& apt-get update \
32+
&& apt-get install -y docker-ce
33+
2234
RUN groupadd -g "$APP_GID" tango
2335

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

38+
RUN usermod -a -G docker tango
39+
2640
ENV PKG_CONFIG_PATH=/home/tango/lib/pkgconfig
2741

2842
USER tango

.travis/install_tango.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/usr/bin/env bash
2+
3+
set -e
4+
5+
echo "Install tango"
6+
docker exec --user root cpp_tango make -C /home/tango/src/build install

.travis/install_tango_admin.sh

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#!/usr/bin/env bash
2+
3+
set -e
4+
5+
admin_dir="/home/tango/tango_admin"
6+
7+
echo "Build tango_admin"
8+
docker exec cpp_tango mkdir -p "${admin_dir}/build"
9+
docker exec cpp_tango cmake -H"${admin_dir}" -B"${admin_dir}/build"
10+
docker exec cpp_tango make -C "${admin_dir}/build"
11+
12+
echo "Install tango_admin"
13+
docker exec --user root cpp_tango cp "${admin_dir}/build/tango_admin" /usr/local/bin

.travis/llvm-latest/Dockerfile

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
FROM debian:buster
2+
3+
ARG LLVM_VERSION=9
4+
5+
ARG APP_UID=2000
6+
7+
ARG APP_GID=2000
8+
9+
MAINTAINER TANGO Controls team <tango@esrf.fr>
10+
11+
RUN apt-get update && apt-get install -y \
12+
apt-utils \
13+
build-essential \
14+
cmake \
15+
curl \
16+
git \
17+
gnupg \
18+
libcos4-dev \
19+
libomniorb4-dev \
20+
libomnithread4-dev \
21+
libzmq3-dev \
22+
lsb-release \
23+
omniidl \
24+
python2
25+
26+
RUN curl https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - && \
27+
echo "deb http://apt.llvm.org/buster/ llvm-toolchain-buster-${LLVM_VERSION} main" | tee -a /etc/apt/sources.list && \
28+
apt-get update -qq && \
29+
apt-get install --no-install-recommends -y \
30+
clang-${LLVM_VERSION} \
31+
lld-${LLVM_VERSION} \
32+
llvm-${LLVM_VERSION}
33+
34+
RUN groupadd -g "$APP_GID" tango
35+
36+
RUN useradd -u "$APP_UID" -g "$APP_GID" -ms /bin/bash tango
37+
38+
ENV PKG_CONFIG_PATH=/home/tango/lib/pkgconfig
39+
ENV CXX=clang++-${LLVM_VERSION}
40+
ENV CC=clang-${LLVM_VERSION}
41+
42+
USER tango
43+
44+
WORKDIR /home/tango

.travis/run.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ echo "############################"
1515
docker exec cpp_tango mkdir -p /home/tango/src/build
1616

1717
# set defaults
18-
MAKEFLAGS=${MAKEFLAGS:- -j 2}
18+
MAKEFLAGS=${MAKEFLAGS:- -j $(nproc)}
1919
COVERALLS=${COVERALLS:-OFF}
2020
USE_PCH=${USE_PCH:-OFF}
2121
WARNINGS_AS_ERRORS=${WARNINGS_AS_ERRORS:-OFF}
@@ -38,7 +38,7 @@ then
3838
docker exec cpp_tango \
3939
/home/tango/build-wrapper-linux-x86/build-wrapper-linux-x86-64 \
4040
--out-dir /home/tango/src/bw-output \
41-
make -C /home/tango/src/build
41+
make -C /home/tango/src/build $MAKEFLAGS
4242
else
43-
docker exec cpp_tango make -C /home/tango/src/build
43+
docker exec cpp_tango make -C /home/tango/src/build $MAKEFLAGS
4444
fi

.travis/test.sh

Lines changed: 14 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -6,29 +6,20 @@ then
66
exit 0
77
fi
88

9-
TEST_COMMAND="exec ctest --output-on-failure"
10-
if [ $COVERALLS = "ON" ]
11-
then
12-
TEST_COMMAND="exec make coveralls"
13-
fi
9+
build_dir="/home/tango/src/build"
1410

15-
echo "PreTest"
16-
docker exec cpp_tango /bin/sh -c 'cd /home/tango/src/build/cpp_test_suite/environment; exec ./pre_test.sh'
17-
if [ $? -ne "0" ]
18-
then
19-
exit -1
20-
fi
21-
echo "Test"
22-
echo "TEST_COMMAND=$TEST_COMMAND"
23-
docker exec cpp_tango /bin/sh -c "cd /home/tango/src/build; $TEST_COMMAND"
24-
if [ $? -ne "0" ]
25-
then
26-
exit -1
27-
fi
11+
function run_in_container {
12+
docker exec \
13+
-w "${build_dir}" \
14+
-e CTEST_PARALLEL_LEVEL=$(nproc) \
15+
-e CTEST_OUTPUT_ON_FAILURE=ON \
16+
cpp_tango "$@"
17+
}
2818

29-
echo "PostTest"
30-
docker exec cpp_tango /bin/sh -c 'cd /home/tango/src/build/cpp_test_suite/environment; exec ./post_test.sh'
31-
if [ $? -ne "0" ]
32-
then
33-
exit -1
19+
set -e
20+
21+
if [[ "$COVERALLS" == "ON" ]]; then
22+
run_in_container make coveralls
23+
else
24+
run_in_container ctest
3425
fi
Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,32 @@
1-
FROM debian/eol:wheezy
1+
FROM ubuntu:focal
22

33
ARG APP_UID=2000
44

55
ARG APP_GID=2000
66

77
MAINTAINER TANGO Controls team <tango@esrf.fr>
88

9-
RUN echo 'deb http://archive.debian.org/debian wheezy-backports main contrib' > /etc/apt/sources.list.d/backports.list
10-
11-
RUN echo "Acquire::Check-Valid-Until false;" > /etc/apt/apt.conf
12-
139
RUN apt-get update && apt-get install -y \
1410
apt-utils \
1511
build-essential \
12+
cmake \
1613
curl \
1714
git \
1815
libcos4-dev \
1916
libomniorb4-dev \
20-
libomnithread3-dev \
17+
libomnithread4-dev \
2118
libzmq3-dev \
2219
lsb-release \
2320
omniidl \
24-
procps \
25-
wget
26-
27-
RUN wget --no-check-certificate https://cmake.org/files/v3.10/cmake-3.10.0-Linux-x86_64.sh -O /tmp/cmake-install.sh \
28-
&& chmod +x /tmp/cmake-install.sh \
29-
&& /tmp/cmake-install.sh --skip-license --exclude-subdir
21+
python2 \
22+
docker.io
3023

3124
RUN groupadd -g "$APP_GID" tango
3225

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

28+
RUN usermod -a -G docker tango
29+
3530
ENV PKG_CONFIG_PATH=/home/tango/lib/pkgconfig
3631

3732
USER tango

0 commit comments

Comments
 (0)