diff --git a/.github/matrix.py b/.github/matrix.py index 067ce93a3..9e9b395de 100644 --- a/.github/matrix.py +++ b/.github/matrix.py @@ -71,6 +71,10 @@ for CC in ["gcc", "clang"]: "CC": CC, "FLAGS": [ "USE_ZLIB=1", + "USE_OT=1", + "OT_INC=${HOME}/opt/include", + "OT_LIB=${HOME}/opt/lib", + "OT_RUNPATH=1", "USE_PCRE=1", "USE_PCRE_JIT=1", "USE_LUA=1", @@ -139,6 +143,10 @@ matrix.append( "FLAGS": get_asan_flags(CC) + [ "USE_ZLIB=1", + "USE_OT=1", + "OT_INC=${HOME}/opt/include", + "OT_LIB=${HOME}/opt/lib", + "OT_RUNPATH=1", "USE_PCRE=1", "USE_PCRE_JIT=1", "USE_LUA=1", diff --git a/.github/workflows/vtest.yml b/.github/workflows/vtest.yml index f7f34d720..786713374 100644 --- a/.github/workflows/vtest.yml +++ b/.github/workflows/vtest.yml @@ -64,6 +64,9 @@ jobs: - name: Install SSL ${{ matrix.ssl }} if: ${{ matrix.ssl && matrix.ssl != 'stock' }} run: env ${{ matrix.ssl }} scripts/build-ssl.sh + - name: Install OpenTracing libs + if: ${{ contains(matrix.FLAGS, 'USE_OT=1') }} + run: scripts/build-ot.sh - name: Build WURFL if: ${{ contains(matrix.FLAGS, 'USE_WURFL=1') }} run: make -C addons/wurfl/dummy diff --git a/scripts/build-ot.sh b/scripts/build-ot.sh new file mode 100755 index 000000000..59d6af587 --- /dev/null +++ b/scripts/build-ot.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +# +# OT helper. script built from documentation: https://github.com/haproxytech/opentracing-c-wrapper +# + +set -e + +export OT_CPP_VERSION=1.5.0 + +if [ ! -f "download-cache/v${OT_CPP_VERSION}.tar.gz" ]; then + wget -P download-cache/ \ + "https://github.com/opentracing/opentracing-cpp/archive/v${OT_CPP_VERSION}.tar.gz" +fi + +if [ "$(cat ${HOME}/opt/.ot-cpp-version)" != "${OT_CPP_VERSION}" ]; then + tar xf download-cache/v${OT_CPP_VERSION}.tar.gz + cd opentracing-cpp-${OT_CPP_VERSION} + mkdir build + cd build + cmake -DCMAKE_INSTALL_PREFIX=${HOME}/opt -DBUILD_STATIC_LIBS=OFF -DBUILD_MOCKTRACER=OFF -DBUILD_TESTING=OFF .. + make + make install + echo "${OT_CPP_VERSION}" > "${HOME}/opt/.ot-cpp-version" +fi + +git clone https://github.com/haproxytech/opentracing-c-wrapper.git +cd opentracing-c-wrapper + ./scripts/bootstrap + ./configure --prefix=${HOME}/opt --with-opentracing=${HOME}/opt + make + make install + +