summaryrefslogtreecommitdiff
path: root/ci/travis.sh
blob: 31355becc7e2197a8be51492de8238f477ad19f6 (plain)
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
#!/usr/bin/env sh
set -evx

chmod +x ci/get-nprocessors.sh
. ci/get-nprocessors.sh

# if possible, ask for the precise number of processors,
# otherwise take 2 processors as reasonable default; see
# https://docs.travis-ci.com/user/speeding-up-the-build/#Makefile-optimization
if [ -x /usr/bin/getconf ]; then
    NPROCESSORS=$(/usr/bin/getconf _NPROCESSORS_ONLN)
else
    NPROCESSORS=2
fi

# as of 2017-09-04 Travis CI reports 32 processors, but GCC build
# crashes if parallelized too much (maybe memory consumption problem),
# so limit to 4 processors for the time being.
if [ $NPROCESSORS -gt 4 ] ; then
	echo "$0:Note: Limiting processors to use by make from $NPROCESSORS to 4."
	NPROCESSORS=4
fi

# Tell make to use the processors. No preceding '-' required.
MAKEFLAGS="j${NPROCESSORS}"
export MAKEFLAGS

env | sort

# Set default values to OFF for these variables if not specified.
: "${NO_EXCEPTION:=OFF}"
: "${NO_RTTI:=OFF}"
: "${COMPILER_IS_GNUCXX:=OFF}"

# Install dependency from YUM
if [ -n "${INSTALL_DEPENDENCY_LIBRARY}" ]; then
      yum install -y $INSTALL_DEPENDENCY_LIBRARY
fi

if [ $ASAN_OPTION ] && [ -f "/opt/rh/devtoolset-7/enable" ] ;then
	source /opt/rh/devtoolset-7/enable
fi

mkdir build || true
cd build

cmake3 -DCMAKE_CXX_FLAGS=$CXX_FLAGS \
      -DCMAKE_BUILD_TYPE=$BUILD_TYPE \
      -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX \
      -DENABLE_DEVEL=$ENABLE_DEVEL_SWITCH \
      -DASAN_OPTION=$ASAN_OPTION \
      -DVERSION_DAILY_BUILD=$TESTING_VERSION_BUILD \
      ..

make

if [ -n "${UNIT_TEST}" ]; then
    ARCH=$(uname -m)
    if [ "$ARCH" = "x86_64" ]; then
        TELEGRAF_RPM="https://dl.influxdata.com/telegraf/releases/telegraf-1.25.1-1.x86_64.rpm"
    elif [ "$ARCH" = "aarch64" ]; then
        TELEGRAF_RPM="https://dl.influxdata.com/telegraf/releases/telegraf-1.25.1-1.aarch64.rpm"
    else
        echo "Unsupported architecture: $ARCH"
        exit 1
    fi

    yum install -y $TELEGRAF_RPM
    /usr/bin/telegraf -config ../test/bin/telegraf_unit_test.conf --quiet &
    ctest --verbose
fi

if [ -n "${PACKAGE}" ]; then
	make package
fi

if [ -n "${UPLOAD_RPM}" ]; then	
	cp ~/rpm_upload_tools.py ./
	python3 rpm_upload_tools.py ${PULP3_REPO_NAME} ${PULP3_DIST_NAME} *.rpm
fi