[CI] generalise travis-linux-install.sh
- move content to CI-linux-install.sh which is independent of Travis - create equivalent for Github Actions (GHA)
This commit is contained in:
parent
a2fc5ecaff
commit
901f399f8c
3 changed files with 134 additions and 118 deletions
120
Tools/CI-linux-install.sh
Normal file
120
Tools/CI-linux-install.sh
Normal file
|
|
@ -0,0 +1,120 @@
|
|||
#!/bin/bash
|
||||
# expected to be called from elsewhere with certain variables set
|
||||
# e.g. RETRY=travis-retry SWIGLANG=python GCC=7
|
||||
set -e # exit on failure (same as -o errexit)
|
||||
|
||||
if [[ -n "$GCC" ]]; then
|
||||
$RETRY sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
|
||||
$RETRY sudo apt-get -qq update
|
||||
$RETRY sudo apt-get install -qq g++-$GCC
|
||||
fi
|
||||
|
||||
$RETRY sudo apt-get -qq install libboost-dev libpcre3-dev
|
||||
|
||||
WITHLANG=$SWIGLANG
|
||||
|
||||
case "$SWIGLANG" in
|
||||
"") ;;
|
||||
"csharp")
|
||||
$RETRY sudo apt-get -qq install mono-devel
|
||||
;;
|
||||
"d")
|
||||
$RETRY wget http://downloads.dlang.org/releases/2.x/${VER}/dmd_${VER}-0_amd64.deb
|
||||
$RETRY sudo dpkg -i dmd_${VER}-0_amd64.deb
|
||||
;;
|
||||
"go")
|
||||
if [[ "$VER" ]]; then
|
||||
eval "$(gimme ${VER}.x)"
|
||||
fi
|
||||
;;
|
||||
"javascript")
|
||||
case "$ENGINE" in
|
||||
"node")
|
||||
$RETRY wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.10/install.sh | bash
|
||||
export NVM_DIR="$HOME/.nvm"
|
||||
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
|
||||
$RETRY nvm install ${VER}
|
||||
nvm use ${VER}
|
||||
if [ "$VER" == "0.10" ] || [ "$VER" == "0.12" ] || [ "$VER" == "4" ] || [ "$VER" == "6" ] ; then
|
||||
# $RETRY sudo apt-get install -qq nodejs node-gyp
|
||||
$RETRY npm install -g node-gyp@$VER
|
||||
elif [ "$VER" == "8" ] ; then
|
||||
$RETRY npm install -g node-gyp@6
|
||||
elif [ "$VER" == "10" ] || [ "$VER" == "12" ] || [ "$VER" == "14" ] || [ "$VER" == "16" ]; then
|
||||
$RETRY npm install -g node-gyp@7
|
||||
else
|
||||
$RETRY npm install -g node-gyp
|
||||
fi
|
||||
;;
|
||||
"jsc")
|
||||
$RETRY sudo apt-get install -qq libwebkitgtk-dev
|
||||
;;
|
||||
"v8")
|
||||
$RETRY sudo apt-get install -qq libv8-dev
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
"guile")
|
||||
$RETRY sudo apt-get -qq install guile-2.0-dev
|
||||
;;
|
||||
"lua")
|
||||
if [[ -z "$VER" ]]; then
|
||||
$RETRY sudo apt-get -qq install lua5.2 liblua5.2-dev
|
||||
else
|
||||
$RETRY sudo apt-get -qq install lua${VER} liblua${VER}-dev
|
||||
fi
|
||||
;;
|
||||
"mzscheme")
|
||||
$RETRY sudo apt-get -qq install racket
|
||||
;;
|
||||
"ocaml")
|
||||
$RETRY sudo apt-get -qq install ocaml camlp4
|
||||
;;
|
||||
"octave")
|
||||
$RETRY sudo apt-get -qq install liboctave-dev
|
||||
;;
|
||||
"php")
|
||||
$RETRY sudo add-apt-repository -y ppa:ondrej/php
|
||||
$RETRY sudo apt-get -qq update
|
||||
$RETRY sudo apt-get -qq install php$VER-cli php$VER-dev
|
||||
;;
|
||||
"python")
|
||||
pip install --user pycodestyle
|
||||
if [[ "$PY3" ]]; then
|
||||
$RETRY sudo apt-get install -qq python3-dev
|
||||
fi
|
||||
WITHLANG=$SWIGLANG$PY3
|
||||
if [[ "$VER" ]]; then
|
||||
$RETRY sudo add-apt-repository -y ppa:deadsnakes/ppa
|
||||
$RETRY sudo apt-get -qq update
|
||||
$RETRY sudo apt-get -qq install python${VER}-dev
|
||||
WITHLANG=$SWIGLANG$PY3=$SWIGLANG$VER
|
||||
fi
|
||||
;;
|
||||
"r")
|
||||
$RETRY sudo apt-get -qq install r-base
|
||||
;;
|
||||
"ruby")
|
||||
if [[ "$VER" == "2.7" || "$VER" == "3.0" ]]; then
|
||||
# Ruby 2.7+ support is currently only rvm master (30 Dec 2019)
|
||||
$RETRY rvm get master
|
||||
rvm reload
|
||||
rvm list known
|
||||
fi
|
||||
if [[ "$VER" ]]; then
|
||||
$RETRY rvm install $VER
|
||||
fi
|
||||
;;
|
||||
"scilab")
|
||||
# Travis has the wrong version of Java pre-installed resulting in error using scilab:
|
||||
# /usr/bin/scilab-bin: error while loading shared libraries: libjava.so: cannot open shared object file: No such file or directory
|
||||
echo "JAVA_HOME was set to $JAVA_HOME"
|
||||
unset JAVA_HOME
|
||||
$RETRY sudo apt-get -qq install scilab
|
||||
;;
|
||||
"tcl")
|
||||
$RETRY sudo apt-get -qq install tcl-dev
|
||||
;;
|
||||
esac
|
||||
|
||||
set +e # turn off exit on failure (same as +o errexit)
|
||||
9
Tools/GHA-linux-install.sh
Normal file
9
Tools/GHA-linux-install.sh
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
#!/bin/bash
|
||||
|
||||
#lsb_release -a
|
||||
# find location of current script (only works in bash)
|
||||
script_dir="$( dirname "${BASH_SOURCE[0]}")"
|
||||
|
||||
# run generic script
|
||||
RETRY=
|
||||
source "$script_dir"/CI-linux-install.sh
|
||||
|
|
@ -2,123 +2,10 @@
|
|||
|
||||
# Install Linux packages where the version has been overidden in .travis.yml
|
||||
|
||||
set -e # exit on failure (same as -o errexit)
|
||||
|
||||
lsb_release -a
|
||||
travis_retry sudo apt-get -qq update
|
||||
# find location of current script (only works in bash)
|
||||
script_dir="$( dirname "${BASH_SOURCE[0]}")"
|
||||
|
||||
if [[ -n "$GCC" ]]; then
|
||||
travis_retry sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
|
||||
travis_retry sudo apt-get -qq update
|
||||
travis_retry sudo apt-get install -qq g++-$GCC
|
||||
fi
|
||||
|
||||
travis_retry sudo apt-get -qq install libboost-dev libpcre3-dev
|
||||
|
||||
WITHLANG=$SWIGLANG
|
||||
|
||||
case "$SWIGLANG" in
|
||||
"") ;;
|
||||
"csharp")
|
||||
travis_retry sudo apt-get -qq install mono-devel
|
||||
;;
|
||||
"d")
|
||||
travis_retry wget http://downloads.dlang.org/releases/2.x/${VER}/dmd_${VER}-0_amd64.deb
|
||||
travis_retry sudo dpkg -i dmd_${VER}-0_amd64.deb
|
||||
;;
|
||||
"go")
|
||||
if [[ "$VER" ]]; then
|
||||
eval "$(gimme ${VER}.x)"
|
||||
fi
|
||||
;;
|
||||
"javascript")
|
||||
case "$ENGINE" in
|
||||
"node")
|
||||
travis_retry wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.10/install.sh | bash
|
||||
export NVM_DIR="$HOME/.nvm"
|
||||
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
|
||||
travis_retry nvm install ${VER}
|
||||
nvm use ${VER}
|
||||
if [ "$VER" == "0.10" ] || [ "$VER" == "0.12" ] || [ "$VER" == "4" ] || [ "$VER" == "6" ] ; then
|
||||
# travis_retry sudo apt-get install -qq nodejs node-gyp
|
||||
travis_retry npm install -g node-gyp@$VER
|
||||
elif [ "$VER" == "8" ] ; then
|
||||
travis_retry npm install -g node-gyp@6
|
||||
elif [ "$VER" == "10" ] || [ "$VER" == "12" ] || [ "$VER" == "14" ] || [ "$VER" == "16" ]; then
|
||||
travis_retry npm install -g node-gyp@7
|
||||
else
|
||||
travis_retry npm install -g node-gyp
|
||||
fi
|
||||
;;
|
||||
"jsc")
|
||||
travis_retry sudo apt-get install -qq libwebkitgtk-dev
|
||||
;;
|
||||
"v8")
|
||||
travis_retry sudo apt-get install -qq libv8-dev
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
"guile")
|
||||
travis_retry sudo apt-get -qq install guile-2.0-dev
|
||||
;;
|
||||
"lua")
|
||||
if [[ -z "$VER" ]]; then
|
||||
travis_retry sudo apt-get -qq install lua5.2 liblua5.2-dev
|
||||
else
|
||||
travis_retry sudo apt-get -qq install lua${VER} liblua${VER}-dev
|
||||
fi
|
||||
;;
|
||||
"mzscheme")
|
||||
travis_retry sudo apt-get -qq install racket
|
||||
;;
|
||||
"ocaml")
|
||||
travis_retry sudo apt-get -qq install ocaml camlp4
|
||||
;;
|
||||
"octave")
|
||||
travis_retry sudo apt-get -qq install liboctave-dev
|
||||
;;
|
||||
"php")
|
||||
travis_retry sudo add-apt-repository -y ppa:ondrej/php
|
||||
travis_retry sudo apt-get -qq update
|
||||
travis_retry sudo apt-get -qq install php$VER-cli php$VER-dev
|
||||
;;
|
||||
"python")
|
||||
pip install --user pycodestyle
|
||||
if [[ "$PY3" ]]; then
|
||||
travis_retry sudo apt-get install -qq python3-dev
|
||||
fi
|
||||
WITHLANG=$SWIGLANG$PY3
|
||||
if [[ "$VER" ]]; then
|
||||
travis_retry sudo add-apt-repository -y ppa:deadsnakes/ppa
|
||||
travis_retry sudo apt-get -qq update
|
||||
travis_retry sudo apt-get -qq install python${VER}-dev
|
||||
WITHLANG=$SWIGLANG$PY3=$SWIGLANG$VER
|
||||
fi
|
||||
;;
|
||||
"r")
|
||||
travis_retry sudo apt-get -qq install r-base
|
||||
;;
|
||||
"ruby")
|
||||
if [[ "$VER" == "2.7" || "$VER" == "3.0" ]]; then
|
||||
# Ruby 2.7+ support is currently only rvm master (30 Dec 2019)
|
||||
travis_retry rvm get master
|
||||
rvm reload
|
||||
rvm list known
|
||||
fi
|
||||
if [[ "$VER" ]]; then
|
||||
travis_retry rvm install $VER
|
||||
fi
|
||||
;;
|
||||
"scilab")
|
||||
# Travis has the wrong version of Java pre-installed resulting in error using scilab:
|
||||
# /usr/bin/scilab-bin: error while loading shared libraries: libjava.so: cannot open shared object file: No such file or directory
|
||||
echo "JAVA_HOME was set to $JAVA_HOME"
|
||||
unset JAVA_HOME
|
||||
travis_retry sudo apt-get -qq install scilab
|
||||
;;
|
||||
"tcl")
|
||||
travis_retry sudo apt-get -qq install tcl-dev
|
||||
;;
|
||||
esac
|
||||
|
||||
set +e # turn off exit on failure (same as +o errexit)
|
||||
# run generic script
|
||||
RETRY=travis-retry
|
||||
source "$script_dir"/CI-linux-install.sh
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue