Use quick install script to test R builds
This commit is contained in:
parent
df380906fb
commit
83dfc554f2
9 changed files with 103 additions and 125 deletions
|
|
@ -3,73 +3,65 @@ version: '2.0'
|
||||||
services:
|
services:
|
||||||
ubuntu-1804:
|
ubuntu-1804:
|
||||||
image: ubuntu:bionic
|
image: ubuntu:bionic
|
||||||
command: /test/test-deb.sh
|
command: /r-builds/test/test-apt.sh
|
||||||
environment:
|
environment:
|
||||||
- OS_IDENTIFIER=ubuntu-1804
|
- OS_IDENTIFIER=ubuntu-1804
|
||||||
- R_VERSION=${R_VERSION}
|
- R_VERSION=${R_VERSION}
|
||||||
volumes:
|
volumes:
|
||||||
- ./:/test
|
- ../:/r-builds
|
||||||
- ../builder/integration/tmp:/packages
|
|
||||||
ubuntu-2004:
|
ubuntu-2004:
|
||||||
image: ubuntu:focal
|
image: ubuntu:focal
|
||||||
command: /test/test-deb.sh
|
command: /r-builds/test/test-apt.sh
|
||||||
environment:
|
environment:
|
||||||
- OS_IDENTIFIER=ubuntu-2004
|
- OS_IDENTIFIER=ubuntu-2004
|
||||||
- R_VERSION=${R_VERSION}
|
- R_VERSION=${R_VERSION}
|
||||||
volumes:
|
volumes:
|
||||||
- ./:/test
|
- ../:/r-builds
|
||||||
- ../builder/integration/tmp:/packages
|
|
||||||
ubuntu-2204:
|
ubuntu-2204:
|
||||||
image: ubuntu:jammy
|
image: ubuntu:jammy
|
||||||
command: /test/test-deb.sh
|
command: /r-builds/test/test-apt.sh
|
||||||
environment:
|
environment:
|
||||||
- OS_IDENTIFIER=ubuntu-2204
|
- OS_IDENTIFIER=ubuntu-2204
|
||||||
- R_VERSION=${R_VERSION}
|
- R_VERSION=${R_VERSION}
|
||||||
volumes:
|
volumes:
|
||||||
- ./:/test
|
- ../:/r-builds
|
||||||
- ../builder/integration/tmp:/packages
|
|
||||||
debian-11:
|
debian-11:
|
||||||
image: debian:bullseye
|
image: debian:bullseye
|
||||||
command: /test/test-deb.sh
|
command: /r-builds/test/test-apt.sh
|
||||||
environment:
|
environment:
|
||||||
- OS_IDENTIFIER=debian-11
|
- OS_IDENTIFIER=debian-11
|
||||||
- R_VERSION=${R_VERSION}
|
- R_VERSION=${R_VERSION}
|
||||||
volumes:
|
volumes:
|
||||||
- ./:/test
|
- ../:/r-builds
|
||||||
- ../builder/integration/tmp:/packages
|
|
||||||
debian-10:
|
debian-10:
|
||||||
image: debian:buster
|
image: debian:buster
|
||||||
command: /test/test-deb.sh
|
command: /r-builds/test/test-apt.sh
|
||||||
environment:
|
environment:
|
||||||
- OS_IDENTIFIER=debian-10
|
- OS_IDENTIFIER=debian-10
|
||||||
- R_VERSION=${R_VERSION}
|
- R_VERSION=${R_VERSION}
|
||||||
volumes:
|
volumes:
|
||||||
- ./:/test
|
- ../:/r-builds
|
||||||
- ../builder/integration/tmp:/packages
|
|
||||||
centos-7:
|
centos-7:
|
||||||
image: centos:centos7
|
image: centos:centos7
|
||||||
command: /test/test-centos.sh
|
command: /r-builds/test/test-yum.sh
|
||||||
environment:
|
environment:
|
||||||
- OS_IDENTIFIER=centos-7
|
- OS_IDENTIFIER=centos-7
|
||||||
- R_VERSION=${R_VERSION}
|
- R_VERSION=${R_VERSION}
|
||||||
volumes:
|
volumes:
|
||||||
- ./:/test
|
- ../:/r-builds
|
||||||
- ../builder/integration/tmp:/packages
|
|
||||||
centos-8:
|
centos-8:
|
||||||
image: rockylinux:8
|
image: rockylinux:8
|
||||||
command: /test/test-centos.sh
|
command: /r-builds/test/test-yum.sh
|
||||||
environment:
|
environment:
|
||||||
- OS_IDENTIFIER=centos-8
|
- OS_IDENTIFIER=centos-8
|
||||||
- R_VERSION=${R_VERSION}
|
- R_VERSION=${R_VERSION}
|
||||||
volumes:
|
volumes:
|
||||||
- ./:/test
|
- ../:/r-builds
|
||||||
- ../builder/integration/tmp:/packages
|
|
||||||
opensuse-153:
|
opensuse-153:
|
||||||
image: opensuse/leap:15.3
|
image: opensuse/leap:15.3
|
||||||
command: /test/test-opensuse.sh
|
command: /r-builds/test/test-zypper.sh
|
||||||
environment:
|
environment:
|
||||||
- OS_IDENTIFIER=opensuse-153
|
- OS_IDENTIFIER=opensuse-153
|
||||||
- R_VERSION=${R_VERSION}
|
- R_VERSION=${R_VERSION}
|
||||||
volumes:
|
volumes:
|
||||||
- ./:/test
|
- ../:/r-builds
|
||||||
- ../builder/integration/tmp:/packages
|
|
||||||
|
|
|
||||||
27
test/test-apt.sh
Executable file
27
test/test-apt.sh
Executable file
|
|
@ -0,0 +1,27 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
SCRIPT_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
|
||||||
|
|
||||||
|
# Install quick install script prerequisites
|
||||||
|
if ! command -v curl > /dev/null 2>&1; then
|
||||||
|
apt update -qq
|
||||||
|
apt install -y curl
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Run the quick install script. Use a locally built file if present, otherwise from the CDN.
|
||||||
|
tmpdir=$(mktemp -d)
|
||||||
|
cp -r "${SCRIPT_DIR}/../builder/integration/tmp/${OS_IDENTIFIER}/." "$tmpdir" > /dev/null 2>&1 || true
|
||||||
|
(cd "$tmpdir" && SCRIPT_ACTION=install R_VERSION="${R_VERSION}" RUN_UNATTENDED=1 "${SCRIPT_DIR}/../install.sh")
|
||||||
|
|
||||||
|
# Show DEB info
|
||||||
|
apt show "r-${R_VERSION}"
|
||||||
|
|
||||||
|
"${SCRIPT_DIR}/test-r.sh"
|
||||||
|
|
||||||
|
apt remove -y "r-${R_VERSION}"
|
||||||
|
|
||||||
|
if [ -d "/opt/R/${R_VERSION}" ]; then
|
||||||
|
echo "Failed to uninstall completely"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
set -ex
|
|
||||||
|
|
||||||
PKG_FILE=/packages/${OS_IDENTIFIER}/R-${R_VERSION}-1-1.x86_64.rpm
|
|
||||||
|
|
||||||
if [ ! -f ${PKG_FILE} ]; then
|
|
||||||
echo "No package found, skipping tests"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
yum -y -q update
|
|
||||||
yum -y install epel-release
|
|
||||||
yum -y install ${PKG_FILE}
|
|
||||||
|
|
||||||
# Show rpm info
|
|
||||||
rpm -qi R-${R_VERSION}
|
|
||||||
|
|
||||||
/test/test-r.sh
|
|
||||||
|
|
||||||
yum -y remove R-${R_VERSION}
|
|
||||||
|
|
||||||
if [ -d /opt/R/${R_VERSION} ]; then
|
|
||||||
echo "Failed to uninstall completely"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
set -ex
|
|
||||||
|
|
||||||
PKG_FILE=/packages/${OS_IDENTIFIER}/r-${R_VERSION}_1_amd64.deb
|
|
||||||
|
|
||||||
if [ ! -f ${PKG_FILE} ]; then
|
|
||||||
echo "No package found, skipping tests"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
apt-get update -qq
|
|
||||||
apt-get install -f -y ${PKG_FILE}
|
|
||||||
|
|
||||||
# Show deb info
|
|
||||||
apt-cache show r-${R_VERSION}
|
|
||||||
|
|
||||||
/test/test-r.sh
|
|
||||||
|
|
||||||
apt-get remove -y r-${R_VERSION}
|
|
||||||
|
|
||||||
if [ -d /opt/R/${R_VERSION} ]; then
|
|
||||||
echo "Failed to uninstall completely"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
set -ex
|
|
||||||
|
|
||||||
PKG_FILE=/packages/${OS_IDENTIFIER}/R-${R_VERSION}-1-1.x86_64.rpm
|
|
||||||
|
|
||||||
if [ ! -f ${PKG_FILE} ]; then
|
|
||||||
echo "No package found, skipping tests"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
zypper --non-interactive --no-gpg-checks install ${PKG_FILE}
|
|
||||||
|
|
||||||
# Show rpm info
|
|
||||||
rpm -qi R-${R_VERSION}
|
|
||||||
|
|
||||||
/test/test-r.sh
|
|
||||||
|
|
||||||
zypper --non-interactive remove R-${R_VERSION}
|
|
||||||
|
|
||||||
if [ -d /opt/R/${R_VERSION} ]; then
|
|
||||||
echo "Failed to uninstall completely"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
|
SCRIPT_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
|
||||||
|
|
||||||
R_HOME=/opt/R/${R_VERSION}/lib/R
|
R_HOME=/opt/R/${R_VERSION}/lib/R
|
||||||
"${R_HOME}/bin/R" --version
|
"${R_HOME}/bin/R" --version
|
||||||
|
|
@ -15,4 +15,4 @@ gfortran --version
|
||||||
# List shared library dependencies (e.g. BLAS/LAPACK)
|
# List shared library dependencies (e.g. BLAS/LAPACK)
|
||||||
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${R_HOME}/lib ldd "${R_HOME}/lib/libR.so"
|
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${R_HOME}/lib ldd "${R_HOME}/lib/libR.so"
|
||||||
|
|
||||||
DIR=${DIR} "${R_HOME}/bin/Rscript" /test/test.R
|
DIR=$SCRIPT_DIR "${R_HOME}/bin/Rscript" "${SCRIPT_DIR}/test.R"
|
||||||
|
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
set -ex
|
|
||||||
|
|
||||||
PKG_FILE=/packages/${OS_IDENTIFIER}/R-${R_VERSION}-1-1.x86_64.rpm
|
|
||||||
|
|
||||||
if [ ! -f ${PKG_FILE} ]; then
|
|
||||||
echo "No package found, skipping tests"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
dnf -y install dnf-plugins-core
|
|
||||||
dnf config-manager --set-enabled crb
|
|
||||||
dnf -y install epel-release
|
|
||||||
dnf -y install ${PKG_FILE}
|
|
||||||
|
|
||||||
# Show rpm info
|
|
||||||
rpm -qi R-${R_VERSION}
|
|
||||||
|
|
||||||
/test/test-r.sh
|
|
||||||
|
|
||||||
dnf -y remove R-${R_VERSION}
|
|
||||||
|
|
||||||
if [ -d /opt/R/${R_VERSION} ]; then
|
|
||||||
echo "Failed to uninstall completely"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
32
test/test-yum.sh
Executable file
32
test/test-yum.sh
Executable file
|
|
@ -0,0 +1,32 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
SCRIPT_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
|
||||||
|
|
||||||
|
if command -v dnf > /dev/null 2>&1; then
|
||||||
|
YUM=dnf
|
||||||
|
else
|
||||||
|
YUM=yum
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Install quick install script prerequisites
|
||||||
|
if ! command -v curl > /dev/null 2>&1; then
|
||||||
|
$YUM install -y curl
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Run the quick install script. Use a locally built file if present, otherwise from the CDN.
|
||||||
|
tmpdir=$(mktemp -d)
|
||||||
|
cp -r "${SCRIPT_DIR}/../builder/integration/tmp/${OS_IDENTIFIER}/." "$tmpdir" > /dev/null 2>&1 || true
|
||||||
|
(cd "$tmpdir" && SCRIPT_ACTION=install R_VERSION="${R_VERSION}" RUN_UNATTENDED=1 "${SCRIPT_DIR}/../install.sh")
|
||||||
|
|
||||||
|
# Show rpm info
|
||||||
|
rpm -qi "R-${R_VERSION}"
|
||||||
|
|
||||||
|
"${SCRIPT_DIR}/test-r.sh"
|
||||||
|
|
||||||
|
$YUM -y remove "R-${R_VERSION}"
|
||||||
|
|
||||||
|
if [ -d "/opt/R/${R_VERSION}" ]; then
|
||||||
|
echo "Failed to uninstall completely"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
26
test/test-zypper.sh
Executable file
26
test/test-zypper.sh
Executable file
|
|
@ -0,0 +1,26 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
SCRIPT_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
|
||||||
|
|
||||||
|
# Install quick install script prerequisites
|
||||||
|
if ! command -v curl > /dev/null 2>&1; then
|
||||||
|
zypper --non-interactive install curl
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Run the quick install script. Use a locally built file if present, otherwise from the CDN.
|
||||||
|
tmpdir=$(mktemp -d)
|
||||||
|
cp -r "${SCRIPT_DIR}/../builder/integration/tmp/${OS_IDENTIFIER}/." "$tmpdir" > /dev/null 2>&1 || true
|
||||||
|
(cd "$tmpdir" && SCRIPT_ACTION=install R_VERSION="${R_VERSION}" RUN_UNATTENDED=1 "${SCRIPT_DIR}/../install.sh")
|
||||||
|
|
||||||
|
# Show RPM info
|
||||||
|
rpm -qi "R-${R_VERSION}"
|
||||||
|
|
||||||
|
"${SCRIPT_DIR}/test-r.sh"
|
||||||
|
|
||||||
|
zypper --non-interactive remove "R-${R_VERSION}"
|
||||||
|
|
||||||
|
if [ -d "/opt/R/${R_VERSION}" ]; then
|
||||||
|
echo "Failed to uninstall completely"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
Loading…
Reference in a new issue