ci: minimize installed libboost packages
Change-Id: I8fe048313ff50b00bc09ab912bedaf46008f0a9a
diff --git a/.jenkins.d/00-deps.sh b/.jenkins.d/00-deps.sh
index e29f468..df1e433 100755
--- a/.jenkins.d/00-deps.sh
+++ b/.jenkins.d/00-deps.sh
@@ -1,9 +1,24 @@
#!/usr/bin/env bash
set -eo pipefail
-APT_PKGS=(build-essential pkg-config python3-minimal
- libboost-all-dev libssl-dev libsqlite3-dev
- libpcap-dev libsystemd-dev)
+APT_PKGS=(
+ build-essential
+ libboost-chrono-dev
+ libboost-date-time-dev
+ libboost-dev
+ libboost-filesystem-dev
+ libboost-log-dev
+ libboost-program-options-dev
+ libboost-stacktrace-dev
+ libboost-test-dev
+ libboost-thread-dev
+ libpcap-dev
+ libsqlite3-dev
+ libssl-dev
+ libsystemd-dev
+ pkg-config
+ python3-minimal
+)
FORMULAE=(boost openssl pkg-config)
PIP_PKGS=()
case $JOB_NAME in
@@ -27,10 +42,10 @@
brew update
brew install --formula "${FORMULAE[@]}"
elif [[ $ID_LIKE == *debian* ]]; then
- sudo apt-get -qq update
- sudo apt-get -qy install "${APT_PKGS[@]}"
+ sudo apt-get update -qq
+ sudo apt-get install -qy --no-install-recommends "${APT_PKGS[@]}"
elif [[ $ID_LIKE == *fedora* ]]; then
- sudo dnf -y install gcc-c++ libasan lld pkgconf-pkg-config python3 \
+ sudo dnf install -y gcc-c++ libasan lld pkgconf-pkg-config python3 \
boost-devel openssl-devel sqlite-devel \
libpcap-devel systemd-devel
fi
diff --git a/.jenkins.d/01-ndn-cxx.sh b/.jenkins.d/01-ndn-cxx.sh
index 91ebefd..6c7fb22 100755
--- a/.jenkins.d/01-ndn-cxx.sh
+++ b/.jenkins.d/01-ndn-cxx.sh
@@ -42,9 +42,9 @@
popd >/dev/null
popd >/dev/null
-if [[ $ID_LIKE == *fedora* ]]; then
- sudo tee /etc/ld.so.conf.d/ndn.conf >/dev/null <<< /usr/local/lib64
-fi
if [[ $ID_LIKE == *linux* ]]; then
+ if [[ $(uname -m) == x86_64 && -d /usr/lib64 ]]; then
+ sudo tee /etc/ld.so.conf.d/ndn.conf >/dev/null <<< /usr/local/lib64
+ fi
sudo ldconfig
fi
diff --git a/.jenkins.d/10-build.sh b/.jenkins.d/10-build.sh
index fa2c901..9d415d5 100755
--- a/.jenkins.d/10-build.sh
+++ b/.jenkins.d/10-build.sh
@@ -7,9 +7,6 @@
if [[ $JOB_NAME == *"code-coverage" ]]; then
COVERAGE="--with-coverage"
fi
-if [[ -n $DISABLE_PCH ]]; then
- PCH="--without-pch"
-fi
set -x
@@ -21,8 +18,8 @@
# Cleanup
./waf --color=yes distclean
- # Build in release mode without tests, but with "other tests"
- ./waf --color=yes configure --with-other-tests $PCH
+ # Build in release mode with "other tests" only
+ ./waf --color=yes configure --with-other-tests
./waf --color=yes build
# Cleanup
@@ -30,7 +27,7 @@
fi
# Build in debug mode with tests
-./waf --color=yes configure --debug --with-tests $ASAN $COVERAGE $PCH
+./waf --color=yes configure --debug --with-tests $ASAN $COVERAGE
./waf --color=yes build
# (tests will be run against the debug version)
diff --git a/.jenkins.d/20-tests.sh b/.jenkins.d/20-tests.sh
index a861528..522bf04 100755
--- a/.jenkins.d/20-tests.sh
+++ b/.jenkins.d/20-tests.sh
@@ -1,16 +1,17 @@
#!/usr/bin/env bash
set -eo pipefail
+# https://github.com/google/sanitizers/wiki/SanitizerCommonFlags
# https://github.com/google/sanitizers/wiki/AddressSanitizerFlags
ASAN_OPTIONS="color=always"
+ASAN_OPTIONS+=":strip_path_prefix=${PWD}/"
+ASAN_OPTIONS+=":detect_leaks=0"
ASAN_OPTIONS+=":check_initialization_order=1"
ASAN_OPTIONS+=":detect_stack_use_after_return=1"
ASAN_OPTIONS+=":strict_init_order=1"
ASAN_OPTIONS+=":strict_string_checks=1"
ASAN_OPTIONS+=":detect_invalid_pointer_pairs=2"
ASAN_OPTIONS+=":detect_container_overflow=0"
-ASAN_OPTIONS+=":detect_leaks=0"
-ASAN_OPTIONS+=":strip_path_prefix=${PWD}/"
export ASAN_OPTIONS
# https://www.boost.org/doc/libs/release/libs/test/doc/html/boost_test/runtime_config/summary.html