blob: c021e5486f1aa4db8837cbd0e3f8088f91753021 [file] [log] [blame]
Alexander Afanasyevb346ddb2015-06-03 00:52:03 -04001#!/usr/bin/env bash
Davide Pesavento2349e282020-03-24 14:28:03 -04002set -ex
Alexander Afanasyevb346ddb2015-06-03 00:52:03 -04003
Davide Pesavento09348882016-09-17 02:39:44 +02004if has OSX $NODE_LABELS; then
Davide Pesavento97242f72020-02-29 14:28:15 -05005 FORMULAE=(boost openssl pkg-config)
Davide Pesaventod776a932020-03-20 18:42:36 -04006 if has OSX-10.13 $NODE_LABELS || has OSX-10.14 $NODE_LABELS; then
7 FORMULAE+=(python)
Davide Pesaventob1a2a4b2017-06-08 19:37:21 -04008 fi
Davide Pesavento30ed6282021-07-25 20:05:06 -04009 if [[ $JOB_NAME == *"Docs" ]]; then
10 FORMULAE+=(doxygen graphviz)
11 fi
Davide Pesaventod776a932020-03-20 18:42:36 -040012
Davide Pesavento30ed6282021-07-25 20:05:06 -040013 if [[ -n $GITHUB_ACTIONS || -n $TRAVIS ]]; then
14 # GitHub Actions and Travis images come with a large number of
15 # pre-installed packages. Don't waste time upgrading all of them.
Davide Pesaventod776a932020-03-20 18:42:36 -040016 brew list --versions "${FORMULAE[@]}" || brew update
17 for FORMULA in "${FORMULAE[@]}"; do
18 brew list --versions "$FORMULA" || brew install "$FORMULA"
19 done
20 # Ensure /usr/local/opt/openssl exists
21 brew reinstall openssl
22 else
23 brew update
24 brew upgrade
25 brew install "${FORMULAE[@]}"
26 brew cleanup
27 fi
Alexander Afanasyevb346ddb2015-06-03 00:52:03 -040028
Davide Pesavento30ed6282021-07-25 20:05:06 -040029 if [[ $JOB_NAME == *"Docs" ]]; then
30 pip3 install --upgrade --upgrade-strategy=eager sphinx sphinxcontrib-doxylink
31 fi
32
Davide Pesavento2349e282020-03-24 14:28:03 -040033elif has Ubuntu $NODE_LABELS; then
Davide Pesaventoe11c8d82016-04-16 14:32:07 +020034 sudo apt-get -qq update
Davide Pesavento30ed6282021-07-25 20:05:06 -040035 sudo apt-get -qy install build-essential pkg-config python3-minimal \
Davide Pesaventod776a932020-03-20 18:42:36 -040036 libboost-all-dev libssl-dev libsqlite3-dev
Davide Pesaventoc44cc832017-04-03 22:11:48 -040037
Davide Pesavento30ed6282021-07-25 20:05:06 -040038 case $JOB_NAME in
39 *code-coverage)
40 sudo apt-get -qy install gcovr lcov
41 ;;
42 *Docs)
43 sudo apt-get -qy install doxygen graphviz python3-pip
44 pip3 install --user --upgrade --upgrade-strategy=eager sphinx sphinxcontrib-doxylink
45 ;;
46 esac
Md Ashiqur Rahman8bd3b8a2018-09-01 23:43:51 +000047
Davide Pesavento2349e282020-03-24 14:28:03 -040048elif has CentOS-8 $NODE_LABELS; then
49 sudo dnf -y install gcc-c++ libasan pkgconf-pkg-config python3 \
50 boost-devel openssl-devel sqlite-devel
Md Ashiqur Rahman8bd3b8a2018-09-01 23:43:51 +000051fi