8d193d965b3d56b4c9af3d215bf2b78728375a8a
[lttng-ci.git] / scripts / lttng-analyses / build.sh
1 #!/bin/bash -exu
2 #
3 # Copyright (C) 2015 - Michael Jeanson <mjeanson@efficios.com>
4 #
5 # This program is free software: you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation, either version 3 of the License, or
8 # (at your option) any later version.
9 #
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
14 #
15 # You should have received a copy of the GNU General Public License
16 # along with this program. If not, see <http://www.gnu.org/licenses/>.
17
18 # Has to be set in the environment
19 #CODECOV_TOKEN=""
20
21 SRCDIR="src/lttng-analyses"
22
23 PYTHON3="python3"
24 P3_VERSION=$($PYTHON3 -c "import sys;print(sys.version[:3])")
25
26 BABELTRACE_DIR=$WORKSPACE/deps/babeltrace/build
27
28 export LD_LIBRARY_PATH="$BABELTRACE_DIR/lib"
29 export PYTHONPATH="$BABELTRACE_DIR/lib/python${P3_VERSION}/site-packages/"
30 export PATH="$PATH:$BABELTRACE_DIR/bin"
31
32 PYENV_HOME=$WORKSPACE/.pyenv/
33
34 # Delete previously built virtualenv
35 if [ -d "$PYENV_HOME" ]; then
36 rm -rf "$PYENV_HOME"
37 fi
38
39 # Create virtualenv and install necessary packages
40 virtualenv --system-site-packages -p $PYTHON3 "$PYENV_HOME"
41
42 set +ux
43 . "$PYENV_HOME/bin/activate"
44 set -ux
45
46 pip install --quiet codecov
47 pip install --quiet tox
48
49 cd "$SRCDIR"
50
51 # Hack for path too long in venv wrapper shebang
52 TOXWORKDIR=$(mktemp -d)
53 export TOXWORKDIR
54
55 # Run base test suites and long regression test suite
56 for suite in py3 noutf8 pep8 longregression; do
57 export TOXENV="$suite"
58 tox
59 codecov -e TOXENV
60 done
61
62 unset TOXENV
63 rm -rf "$TOXWORKDIR"
64
65 # EOF
This page took 0.030822 seconds and 3 git commands to generate.