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

Commit

Permalink
Merge pull request #1 from tango-controls/tango-9-lts
Browse files Browse the repository at this point in the history
merge-9-lts-updates
  • Loading branch information
lorenzopivetta authored Feb 3, 2020
2 parents 3343f94 + ec89823 commit 3d1b8e0
Show file tree
Hide file tree
Showing 132 changed files with 1,024 additions and 2,666 deletions.
43 changes: 12 additions & 31 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@ env:
matrix:
- OS_TYPE=llvm-latest RUN_TESTS=OFF WARNINGS_AS_ERRORS=ON TANGO_USE_USING_NAMESPACE=OFF USE_PCH=OFF
- OS_TYPE=gcc-latest RUN_TESTS=OFF WARNINGS_AS_ERRORS=ON TANGO_USE_USING_NAMESPACE=OFF USE_PCH=OFF
- OS_TYPE=ubuntu-20.04
- OS_TYPE=debian10
- OS_TYPE=debian10 USE_PCH=OFF RUN_TESTS=OFF
- OS_TYPE=debian10 CMAKE_BUILD_TYPE=Release
- OS_TYPE=debian9
- OS_TYPE=debian8 STOCK_CPPZMQ=OFF
- OS_TYPE=debian7
- OS_TYPE=debian8 SONAR_SCANNER=ON COVERALLS=ON STOCK_CPPZMQ=OFF

notifications:
email: false
Expand Down Expand Up @@ -50,49 +50,32 @@ before_install:

before_script:
- >
docker run
--rm
--name mysql_db
-e MYSQL_ROOT_PASSWORD=root
-e MYSQL_INITDB_SKIP_TZINFO=1
-d
tangocs/mysql:9.2.2
--sql-mode=""
--innodb=OFF
--default-storage-engine=MyISAM
- >
docker run
--rm
--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:mysq_db
-d
tangocs/tango-cs:latest
- TANGO_HOST_IP=$(docker inspect -f '{{ .NetworkSettings.IPAddress }}' tango_cs)
- TANGO_HOST=${TANGO_HOST_IP}:10000
- docker build --build-arg APP_UID=$(id -u) --build-arg APP_GID=$(id -g) -t cpp_tango .travis/${OS_TYPE}
docker build
--build-arg APP_UID=$(id -u)
--build-arg APP_GID=$(id -g)
-t cpp_tango
.travis/${OS_TYPE}
- >
docker run
--rm
--name cpp_tango
-e TANGO_HOST=${TANGO_HOST}
-e TANGO_HOST2=${TANGO_HOST_IP2}:10000
-e BINTRAY_USER_NAME=tango-ci
-e BINTRAY_API_KEY=${CI_BINTRAY_API_KEY}
-e COVERALLS_REPO_TOKEN=${COVERALLS_REPO_TOKEN}
--link tango_cs
-v `pwd`:/home/tango/src
-v `pwd`/idl:/home/tango/idl
-v `pwd`/cppzmq:/home/tango/cppzmq
-v `pwd`/tango_admin:/home/tango/tango_admin
-v `pwd`/coveralls-cmake:/home/tango/coveralls-cmake
-v `pwd`/build-wrapper-linux-x86:/home/tango/build-wrapper-linux-x86
-v /var/run/docker.sock:/var/run/docker.sock
-dit
cpp_tango
- >
docker exec -u root cpp_tango
groupadd -g $(grep docker /etc/group | awk -F ':' '{print $3}') dockerhost || true
- docker exec -u root cpp_tango usermod -a -G dockerhost tango || true
- .travis/install_tango_idl.sh
- (test ${STOCK_CPPZMQ} = "OFF" && .travis/install_cppzmq.sh) || true
#work around gcov ignored by sonar
Expand All @@ -118,5 +101,3 @@ deploy:

after-script:
- docker stop cpp_tango
- docker stop tango_cs
- docker stop mysql_db
14 changes: 14 additions & 0 deletions .travis/debian10/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,24 @@ RUN apt-get update && apt-get install -y \
omniidl \
python2

RUN apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg2 \
software-properties-common \
&& curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - \
&& add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/debian buster stable" \
&& apt-get update \
&& apt-get install -y docker-ce

RUN groupadd -g "$APP_GID" tango

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

RUN usermod -a -G docker tango

ENV PKG_CONFIG_PATH=/home/tango/lib/pkgconfig

USER tango
Expand Down
22 changes: 20 additions & 2 deletions .travis/debian8/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -11,20 +11,38 @@ RUN sed -i '/jessie-updates/d' /etc/apt/sources.list # Now archived
RUN apt-get update && apt-get install -y \
apt-utils \
build-essential \
cmake \
curl \
git \
lsb-release \
omniidl \
libomniorb4-dev \
libcos4-dev \
libomnithread3-dev \
libzmq3-dev
libzmq3-dev \
wget

RUN wget --no-check-certificate https://cmake.org/files/v3.10/cmake-3.10.0-Linux-x86_64.sh -O /tmp/cmake-install.sh \
&& chmod +x /tmp/cmake-install.sh \
&& /tmp/cmake-install.sh --skip-license --exclude-subdir

RUN apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg2 \
software-properties-common \
&& curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - \
&& add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/debian jessie stable" \
&& apt-get update \
&& apt-get install -y docker-ce

RUN groupadd -g "$APP_GID" tango

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

RUN usermod -a -G docker tango

ENV PKG_CONFIG_PATH=/home/tango/lib/pkgconfig

USER tango
Expand Down
14 changes: 14 additions & 0 deletions .travis/debian9/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,24 @@ RUN apt-get update && apt-get install -y \
libomnithread3-dev \
libzmq3-dev

RUN apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg2 \
software-properties-common \
&& curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add - \
&& add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/debian stretch stable" \
&& apt-get update \
&& apt-get install -y docker-ce

RUN groupadd -g "$APP_GID" tango

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

RUN usermod -a -G docker tango

ENV PKG_CONFIG_PATH=/home/tango/lib/pkgconfig

USER tango
Expand Down
37 changes: 14 additions & 23 deletions .travis/test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,29 +6,20 @@ then
exit 0
fi

TEST_COMMAND="exec ctest --output-on-failure"
if [ $COVERALLS = "ON" ]
then
TEST_COMMAND="exec make coveralls"
fi
build_dir="/home/tango/src/build"

echo "PreTest"
docker exec cpp_tango /bin/sh -c 'cd /home/tango/src/build/cpp_test_suite/environment; exec ./pre_test.sh'
if [ $? -ne "0" ]
then
exit -1
fi
echo "Test"
echo "TEST_COMMAND=$TEST_COMMAND"
docker exec cpp_tango /bin/sh -c "cd /home/tango/src/build; $TEST_COMMAND"
if [ $? -ne "0" ]
then
exit -1
fi
function run_in_container {
docker exec \
-w "${build_dir}" \
-e CTEST_PARALLEL_LEVEL=$(nproc) \
-e CTEST_OUTPUT_ON_FAILURE=ON \
cpp_tango "$@"
}

echo "PostTest"
docker exec cpp_tango /bin/sh -c 'cd /home/tango/src/build/cpp_test_suite/environment; exec ./post_test.sh'
if [ $? -ne "0" ]
then
exit -1
set -e

if [[ "$COVERALLS" == "ON" ]]; then
run_in_container make coveralls
else
run_in_container ctest
fi
19 changes: 7 additions & 12 deletions .travis/debian7/Dockerfile → .travis/ubuntu-20.04/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,37 +1,32 @@
FROM debian/eol:wheezy
FROM ubuntu:focal

ARG APP_UID=2000

ARG APP_GID=2000

MAINTAINER TANGO Controls team <tango@esrf.fr>

RUN echo 'deb http://archive.debian.org/debian wheezy-backports main contrib' > /etc/apt/sources.list.d/backports.list

RUN echo "Acquire::Check-Valid-Until false;" > /etc/apt/apt.conf

RUN apt-get update && apt-get install -y \
apt-utils \
build-essential \
cmake \
curl \
git \
libcos4-dev \
libomniorb4-dev \
libomnithread3-dev \
libomnithread4-dev \
libzmq3-dev \
lsb-release \
omniidl \
procps \
wget

RUN wget --no-check-certificate https://cmake.org/files/v3.10/cmake-3.10.0-Linux-x86_64.sh -O /tmp/cmake-install.sh \
&& chmod +x /tmp/cmake-install.sh \
&& /tmp/cmake-install.sh --skip-license --exclude-subdir
python2 \
docker.io

RUN groupadd -g "$APP_GID" tango

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

RUN usermod -a -G docker tango

ENV PKG_CONFIG_PATH=/home/tango/lib/pkgconfig

USER tango
Expand Down
5 changes: 3 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
cmake_minimum_required(VERSION 2.8.12)
cmake_minimum_required(VERSION 3.7 FATAL_ERROR)

project(cppTango)

set(CXX_STANDARD_REQUIRED 11)

include(CTest)

option(WARNINGS_AS_ERRORS "Treat compiler warnings as errors" OFF)
Expand Down Expand Up @@ -29,7 +31,6 @@ endif()
set(LIBRARY_VERSION "${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}")
set(SO_VERSION "${MAJOR_VERSION}")

message("System TANGO_HOST=$ENV{TANGO_HOST}")
set(TANGO_HOST $ENV{TANGO_HOST})
include(configure/CMakeLists.txt)

Expand Down
Loading

0 comments on commit 3d1b8e0

Please sign in to comment.