values:
- std
- static
- - python_bindings
+ - python-bindings
- axis:
type: user-defined
name: build
- tap:
results: 'tap/**/*.tap'
failed-tests-mark-build-as-failure: true
+ todo-is-failure: false
- warnings:
console-log-parsers:
- 'GNU Make + GNU C Compiler (gcc)'
artifacts: 'build/**'
allow-empty: false
- ircbot:
+ strategy: new-failure-and-fixed
matrix-notifier: only-parent
channels:
- name: '#lttng'
builders:
- copyartifact:
- project: babeltrace-{version}/arch=x86-64,build=std,conf=python_bindings
+ project: babeltrace-{version}/arch=x86-64,build=std,conf=python-bindings
which-build: last-successful
stable: true
filter: 'build/**'
build: !!python/tuple [std, oot, dist]
- 'babeltrace_{version}_{buildtype}':
buildtype: portbuild
- arch: !!python/tuple [armhf, powerpc]
+ arch: !!python/tuple [armhf, powerpc, ppc64el]
build: !!python/tuple [std]
- 'babeltrace_{version}_cppcheck'
- 'babeltrace_{version}_scan-build'
artifacts: 'build/**'
allow-empty: false
- ircbot:
+ strategy: new-failure-and-fixed
matrix-notifier: only-parent
channels:
- name: '#lttng'
build: !!python/tuple [std, oot, dist]
- 'liburcu_{version}_{buildtype}':
buildtype: portbuild
- arch: !!python/tuple [armhf, powerpc]
+ arch: !!python/tuple [armhf, powerpc, ppc64el]
build: !!python/tuple [std]
- 'liburcu_{version}_cppcheck'
- 'liburcu_{version}_scan-build'
builders:
- copyartifact:
- project: babeltrace-master/arch=x86-64,build=std,conf=python_bindings
+ project: babeltrace-master/arch=x86-64,build=std,conf=python-bindings
which-build: last-successful
stable: true
filter: 'build/**'
- axis:
type: user-defined
name: conf
- values:
- - std
- #- static
- - no_ust
- - python_bindings
- - java_agents
+ values: '{obj:conf}'
- axis:
type: user-defined
name: liburcu_version
name: build
values: '{obj:build}'
+ properties:
+ - throttle:
+ max-per-node: 1
+ option: 'category'
+ categories:
+ - 'lttng-tools'
+
builders:
- conditional-step:
condition-kind: regex-match
- conditional-step:
condition-kind: regex-match
label: '$conf'
- regex: (python_bindings|no_ust)
+ regex: (python-bindings|no-ust)
on-evaluation-failure: run
steps:
- copyartifact:
- conditional-step:
condition-kind: regex-match
label: '$conf'
- regex: (java_agents)
+ regex: (java-agent|python-agent)
on-evaluation-failure: run
steps:
- copyartifact:
target: 'deps/babeltrace'
do-not-fingerprint: true
- copyartifact:
- project: lttng-ust_{version}_{buildtype}/liburcu_version=${{liburcu_version}},arch=${{arch}},conf=java-agent,build=std
+ project: lttng-ust_{version}_{buildtype}/liburcu_version=${{liburcu_version}},arch=${{arch}},conf=${{conf}},build=std
which-build: last-successful
stable: true
filter: 'build/**'
- tap:
results: 'tap/**/*.tap'
failed-tests-mark-build-as-failure: true
+ todo-is-failure: false
- warnings:
console-log-parsers:
- 'GNU Make + GNU C Compiler (gcc)'
artifacts: 'build/**'
allow-empty: false
- workspace-cleanup
+ - ircbot:
+ strategy: new-failure-and-fixed
+ matrix-notifier: only-parent
+ channels:
+ - name: '#lttng'
- job-template:
version: master
arch: !!python/tuple [x86-32, x86-64]
build: !!python/tuple [std, oot, dist]
+ conf: !!python/tuple [std, no-ust, python-bindings, java-agent, python-agent]
urcuversion: !!python/tuple [master]
babelversion: !!python/tuple [master]
- 'lttng-tools_{version}_{buildtype}':
buildtype: portbuild
version: master
- arch: !!python/tuple [armhf, powerpc]
+ arch: !!python/tuple [armhf, powerpc, ppc64el]
build: !!python/tuple [std]
+ conf: !!python/tuple [std, no-ust, python-bindings, java-agent, python-agent]
urcuversion: !!python/tuple [master]
babelversion: !!python/tuple [master]
- 'lttng-tools_{version}_{buildtype}':
version: stable-2.7
arch: !!python/tuple [x86-32, x86-64]
build: !!python/tuple [std, oot, dist]
+ conf: !!python/tuple [std, no-ust, python-bindings, java-agent, python-agent]
urcuversion: !!python/tuple [stable-0.8]
babelversion: !!python/tuple [stable-1.2]
- 'lttng-tools_{version}_{buildtype}':
version: stable-2.7
arch: !!python/tuple [armhf, powerpc]
build: !!python/tuple [std]
+ conf: !!python/tuple [std, no-ust, python-bindings, java-agent, python-agent]
urcuversion: !!python/tuple [stable-0.8]
babelversion: !!python/tuple [stable-1.2]
- 'lttng-tools_{version}_{buildtype}':
version: stable-2.6
arch: !!python/tuple [x86-32, x86-64]
build: !!python/tuple [std, oot, dist]
+ conf: !!python/tuple [std, no-ust, python-bindings]
urcuversion: !!python/tuple [stable-0.8]
babelversion: !!python/tuple [stable-1.2]
- 'lttng-tools_{version}_{buildtype}':
version: stable-2.6
arch: !!python/tuple [armhf, powerpc]
build: !!python/tuple [std]
+ conf: !!python/tuple [std, no-ust, python-bindings]
urcuversion: !!python/tuple [stable-0.8]
babelversion: !!python/tuple [stable-1.2]
- 'lttng-tools_{version}_cppcheck'
- axis:
type: user-defined
name: conf
- values:
- - std
- - java-agent
- - python-agent
+ values: '{obj:conf}'
- axis:
type: user-defined
name: liburcu_version
- tap:
results: 'tap/**/*.tap'
failed-tests-mark-build-as-failure: true
+ todo-is-failure: false
- warnings:
console-log-parsers:
- 'GNU Make + GNU C Compiler (gcc)'
allow-empty: false
- workspace-cleanup
- ircbot:
+ strategy: new-failure-and-fixed
matrix-notifier: only-parent
channels:
- name: '#lttng'
buildtype: build
arch: !!python/tuple [x86-32, x86-64]
build: !!python/tuple [std, oot, dist]
+ conf: !!python/tuple [std, java-agent, python-agent]
- 'lttng-ust_{version}_{buildtype}':
buildtype: portbuild
- arch: !!python/tuple [armhf, powerpc]
+ arch: !!python/tuple [armhf, powerpc, ppc64el]
build: !!python/tuple [std]
+ conf: !!python/tuple [std, java-agent, python-agent]
- 'lttng-ust_{version}_cppcheck'
- 'lttng-ust_{version}_scan-build'
- 'lttng-ust_{version}_coverity':
echo "Static build"
CONF_OPTS="--enable-static --disable-shared"
;;
-python_bindings)
+python-bindings)
echo "Build with python bindings"
# We only support bindings built with Python 3
export PYTHON="python3"
rm -rf $WORKSPACE/build
mkdir -p $WORKSPACE/build
+PYTHON2=python2
+PYTHON3=python3
+
+P2_VERSION=$($PYTHON2 -c "import sys;print(sys.version[:3])")
+P3_VERSION=$($PYTHON3 -c "import sys;print(sys.version[:3])")
+
# liburcu
URCU_INCS="$WORKSPACE/deps/liburcu/build/include/"
URCU_LIBS="$WORKSPACE/deps/liburcu/build/lib/"
# lttng-ust
UST_INCS="$WORKSPACE/deps/lttng-ust/build/include/"
UST_LIBS="$WORKSPACE/deps/lttng-ust/build/lib/"
+UST_JAVA="$WORKSPACE/deps/lttng-ust/build/share/java/"
+UST_PYTHON2="$WORKSPACE/deps/lttng-ust/build/lib/python$P2_VERSION/site-packages"
+UST_PYTHON3="$WORKSPACE/deps/lttng-ust/build/lib/python$P3_VERSION/site-packages"
# babeltrace
BABEL_INCS="$WORKSPACE/deps/babeltrace/build/include/"
PREFIX="$WORKSPACE/build"
-if [ "$conf" = "no_ust" ]
+if [ "$conf" = "no-ust" ]
then
export CPPFLAGS="-I$URCU_INCS"
export LDFLAGS="-L$URCU_LIBS"
CONF_OPTS=""
case "$conf" in
-static)
- echo "Static build"
- CONF_OPTS="--enable-static --disable-shared"
- ;;
-python_bindings)
- echo "Build with python bindings"
- # We only support bindings built with Python 3
- export PYTHON="python3"
- export PYTHON_CONFIG="/usr/bin/python3-config"
- CONF_OPTS="--enable-python-bindings"
- ;;
-no_ust)
- echo "Build without UST support"
- CONF_OPTS="--disable-lttng-ust"
- ;;
-*)
- echo "Standard build"
- CONF_OPTS=""
- ;;
+ static)
+ echo "Static build"
+ CONF_OPTS="--enable-static --disable-shared"
+ ;;
+
+ python-bindings)
+ echo "Build with python bindings"
+ # We only support bindings built with Python 3
+ export PYTHON="python3"
+ export PYTHON_CONFIG="/usr/bin/python3-config"
+ CONF_OPTS="--enable-python-bindings"
+ ;;
+
+ no-ust)
+ echo "Build without UST support"
+ CONF_OPTS="--disable-lttng-ust"
+ ;;
+
+ java-agent)
+ echo "Build with Java Agents"
+ export JAVA_HOME="/usr/lib/jvm/default-java"
+ export CLASSPATH="$UST_JAVA/*:/usr/share/java/*"
+ CONF_OPTS="--enable-test-java-agent-all"
+ ;;
+
+ python-agent)
+ echo "Build with python agents"
+ export PYTHONPATH="$UST_PYTHON2:$UST_PYTHON3"
+ CONF_OPTS="--enable-test-python-agent-all"
+ ;;
+
+ *)
+ echo "Standard build"
+ CONF_OPTS=""
+ ;;
esac
# Build type
BUILD_PATH=$WORKSPACE
case "$build" in
- oot)
- echo "Out of tree build"
- BUILD_PATH=$WORKSPACE/oot
- mkdir -p $BUILD_PATH
- cd $BUILD_PATH
- $WORKSPACE/configure --prefix=$PREFIX $CONF_OPTS
- ;;
- dist)
- echo "Distribution out of tree build"
- BUILD_PATH=`mktemp -d`
-
- # Initial configure and generate tarball
- ./configure
- make dist
-
- mkdir -p $BUILD_PATH
- cp *.tar.* $BUILD_PATH/
- cd $BUILD_PATH
-
- # Ignore level 1 of tar
- tar xvf *.tar.* --strip 1
-
- $BUILD_PATH/configure --prefix=$PREFIX $CONF_OPTS
- ;;
- *)
- BUILD_PATH=$WORKSPACE
- echo "Standard tree build"
- $WORKSPACE/configure --prefix=$PREFIX $CONF_OPTS
- ;;
+ oot)
+ echo "Out of tree build"
+ BUILD_PATH=$WORKSPACE/oot
+ mkdir -p $BUILD_PATH
+ cd $BUILD_PATH
+ $WORKSPACE/configure --prefix=$PREFIX $CONF_OPTS
+ ;;
+
+ dist)
+ echo "Distribution out of tree build"
+ BUILD_PATH=`mktemp -d`
+
+ # Initial configure and generate tarball
+ ./configure $CONF_OPTS
+ make dist
+
+ mkdir -p $BUILD_PATH
+ cp *.tar.* $BUILD_PATH/
+ cd $BUILD_PATH
+
+ # Ignore level 1 of tar
+ tar xvf *.tar.* --strip 1
+
+ $BUILD_PATH/configure --prefix=$PREFIX $CONF_OPTS
+ ;;
+
+ *)
+ BUILD_PATH=$WORKSPACE
+ echo "Standard tree build"
+ $WORKSPACE/configure --prefix=$PREFIX $CONF_OPTS
+ ;;
esac
# Allow core dumps
ulimit -c unlimited
+# Add 'babeltrace' binary to PATH
chmod +x $BABEL_BINS/babeltrace
export PATH="$PATH:$BABEL_BINS"
+# Prepare tap output dirs
rm -rf $WORKSPACE/tap
mkdir -p $WORKSPACE/tap
mkdir -p $WORKSPACE/tap/unit
cd $BUILD_PATH/tests
-if [ "$conf" = "std" ]
-then
- prove --merge --exec '' - < $BUILD_PATH/tests/unit_tests --archive $WORKSPACE/tap/unit/ || true
- prove --merge --exec '' - < $BUILD_PATH/tests/fast_regression --archive $WORKSPACE/tap/fast_regression/ || true
-fi
-
-if [ "$conf" = "no_ust" ]
-then
+# Run 'unit_tests' and 'fast_regression' test suites for all configs except 'no-ust'
+if [ "$conf" != "no-ust" ]; then
+ prove --merge -v --exec '' - < $BUILD_PATH/tests/unit_tests --archive $WORKSPACE/tap/unit/ || true
+ prove --merge -v --exec '' - < $BUILD_PATH/tests/fast_regression --archive $WORKSPACE/tap/fast_regression/ || true
+else
# Regression is disabled for now, we need to adjust the testsuite for no ust builds.
- echo "Testsuite disabled. See job configuration for more info."
+ echo "Testsuite disabled for 'no-ust'. See job configuration for more info."
fi
-if [ "$conf" = "python_bindings" ]
+# Run 'with_bindings_regression' test suite for 'python-bindings' config
+if [ "$conf" = "python-bindings" ]
then
- # Disabled due to race conditions in tests
- echo "Testsuite disabled. See job configuration for more info."
- prove --merge --exec '' - < $BUILD_PATH/tests/unit_tests --archive $WORKSPACE/tap/unit/ || true
- prove --merge --exec '' - < $BUILD_PATH/tests/fast_regression --archive $WORKSPACE/tap/fast_regression/ || true
- prove --merge --exec '' - < $BUILD_PATH/tests/with_bindings_regression --archive $WORKSPACE/tap/with_bindings_regression/ || true
+ prove --merge -v --exec '' - < $WORKSPACE/tests/with_bindings_regression --archive $WORKSPACE/tap/with_bindings_regression/ || true
fi
# TAP plugin is having a hard time with .yml files.
if [ $build = "dist" ]; then
rm -rf $BUILD_PATH
fi
+
+# EOF