Skip to content

Commit

Permalink
ci: minimize installed libboost packages
Browse files Browse the repository at this point in the history
Change-Id: I8fe048313ff50b00bc09ab912bedaf46008f0a9a
  • Loading branch information
Pesa committed Feb 10, 2024
1 parent 5fdcbec commit a1b1519
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 17 deletions.
27 changes: 21 additions & 6 deletions .jenkins.d/00-deps.sh
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -27,10 +42,10 @@ if [[ $ID == macos ]]; then
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
Expand Down
6 changes: 3 additions & 3 deletions .jenkins.d/01-ndn-cxx.sh
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,9 @@ sudo ./waf --color=yes install
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
9 changes: 3 additions & 6 deletions .jenkins.d/10-build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,6 @@ fi
if [[ $JOB_NAME == *"code-coverage" ]]; then
COVERAGE="--with-coverage"
fi
if [[ -n $DISABLE_PCH ]]; then
PCH="--without-pch"
fi

set -x

Expand All @@ -21,16 +18,16 @@ if [[ $JOB_NAME != *"code-coverage" && $JOB_NAME != *"limited-build" ]]; then
# 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
./waf --color=yes distclean
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)
Expand Down
5 changes: 3 additions & 2 deletions .jenkins.d/20-tests.sh
Original file line number Diff line number Diff line change
@@ -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
Expand Down

0 comments on commit a1b1519

Please sign in to comment.