summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorIlya Shipitsin <chipitsine@gmail.com>2022-01-13 11:36:28 +0500
committerWilly Tarreau <w@1wt.eu>2022-01-13 13:37:34 +0100
commitb9e3fb7315e32cee678d3635f715de65b6c53fae (patch)
tree08c913280e2656ddd9d45e895972291f545b8e12 /.github
parent28e7ba86885d60a29036bc6fa3a89777148a3762 (diff)
downloadhaproxy-b9e3fb7315e32cee678d3635f715de65b6c53fae.tar.gz
CI: github actions: use cache for OpenTracing
this caches OpenTracing libs between builds, should save couple of minutes for each build.
Diffstat (limited to '.github')
-rwxr-xr-x.github/matrix.py8
-rw-r--r--.github/workflows/vtest.yml26
2 files changed, 28 insertions, 6 deletions
diff --git a/.github/matrix.py b/.github/matrix.py
index 34a78ace4..3c34eaf90 100755
--- a/.github/matrix.py
+++ b/.github/matrix.py
@@ -74,8 +74,8 @@ for CC in ["gcc", "clang"]:
"FLAGS": [
"USE_ZLIB=1",
"USE_OT=1",
- "OT_INC=${HOME}/opt/include",
- "OT_LIB=${HOME}/opt/lib",
+ "OT_INC=${HOME}/opt-ot/include",
+ "OT_LIB=${HOME}/opt-ot/lib",
"OT_RUNPATH=1",
"USE_PCRE=1",
"USE_PCRE_JIT=1",
@@ -150,8 +150,8 @@ matrix.append(
+ [
"USE_ZLIB=1",
"USE_OT=1",
- "OT_INC=${HOME}/opt/include",
- "OT_LIB=${HOME}/opt/lib",
+ "OT_INC=${HOME}/opt-ot/include",
+ "OT_LIB=${HOME}/opt-ot/lib",
"OT_RUNPATH=1",
"USE_PCRE=1",
"USE_PCRE_JIT=1",
diff --git a/.github/workflows/vtest.yml b/.github/workflows/vtest.yml
index 421384b46..d24c3fffa 100644
--- a/.github/workflows/vtest.yml
+++ b/.github/workflows/vtest.yml
@@ -42,10 +42,18 @@ jobs:
TMPDIR: /tmp
# Force ASAN output into asan.log to make the output more readable.
ASAN_OPTIONS: log_path=asan.log
+ OT_CPP_VERSION: 1.5.0
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 100
+ - name: Cache OpenTracing
+ if: ${{ contains(matrix.FLAGS, 'USE_OT=1') }}
+ id: cache_ot
+ uses: actions/cache@v2
+ with:
+ path: '~/opt-ot/'
+ key: ot-${{ matrix.CC }}-${{ env.OT_CPP_VERSION }}-${{ contains(matrix.name, 'ASAN') }}
- name: Install apt dependencies
if: ${{ startsWith(matrix.os, 'ubuntu-') }}
run: |
@@ -68,8 +76,22 @@ jobs:
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
+ if: ${{ contains(matrix.FLAGS, 'USE_OT=1') && steps.cache_ot.outputs.cache-hit != 'true' }}
+ run: |
+ wget https://github.com/opentracing/opentracing-cpp/archive/v${OT_CPP_VERSION}.tar.gz
+ tar xf v${OT_CPP_VERSION}.tar.gz
+ cd opentracing-cpp-${OT_CPP_VERSION}
+ mkdir build
+ cd build
+ cmake -DCMAKE_INSTALL_PREFIX=${HOME}/opt-ot -DBUILD_STATIC_LIBS=OFF -DBUILD_MOCKTRACER=OFF -DBUILD_TESTING=OFF ..
+ make -j$(nproc)
+ make install
+ git clone https://github.com/haproxytech/opentracing-c-wrapper.git
+ cd opentracing-c-wrapper
+ ./scripts/bootstrap
+ ./configure --prefix=${HOME}/opt-ot --with-opentracing=${HOME}/opt-ot
+ make -j$(nproc)
+ make install
- name: Build WURFL
if: ${{ contains(matrix.FLAGS, 'USE_WURFL=1') }}
run: make -C addons/wurfl/dummy