diff options
Diffstat (limited to 'packaging/scripts')
-rwxr-xr-x | packaging/scripts/install.sh | 58 | ||||
-rwxr-xr-x | packaging/scripts/test.sh | 27 |
2 files changed, 85 insertions, 0 deletions
diff --git a/packaging/scripts/install.sh b/packaging/scripts/install.sh new file mode 100755 index 00000000..db8d4a67 --- /dev/null +++ b/packaging/scripts/install.sh @@ -0,0 +1,58 @@ +#!/bin/sh + +install_debian_like() { + # This is needed to ensure package installs don't prompt for any user input. + export DEBIAN_FRONTEND=noninteractive + + apt-get update + + # Install NetData + apt-get install -y "/artifacts/netdata_${VERSION}_${ARCH}.deb" + + # Install testing tools + apt-get install -y --no-install-recommends \ + curl netcat jq +} + +install_fedora_like() { + # Using a glob pattern here because I can't reliably determine what the + # resulting package name will be (TODO: There must be a better way!) + + PKGMGR="$( (command -v dnf > /dev/null && echo "dnf") || echo "yum")" + + # Install NetData + "$PKGMGR" install -y /artifacts/netdata-"${VERSION}"-*.rpm + + # Install testing tools + "$PKGMGR" install -y curl nc jq +} + +install_suse_like() { + # Using a glob pattern here because I can't reliably determine what the + # resulting package name will be (TODO: There must be a better way!) + + # Install NetData + # FIXME: Allow unsigned packages (for now) #7773 + zypper install -y --allow-unsigned-rpm \ + /artifacts/netdata-"${VERSION}"-*.rpm + + # Install testing tools + zypper install -y --no-recommends \ + curl netcat jq +} + +case "${DISTRO}" in + debian | ubuntu) + install_debian_like + ;; + fedora | centos) + install_fedora_like + ;; + opensuse) + install_suse_like + ;; + *) + printf "ERROR: unspported distro: %s_%s\n" "${DISTRO}" "${DISTRO_VERSION}" + exit 1 + ;; +esac diff --git a/packaging/scripts/test.sh b/packaging/scripts/test.sh new file mode 100755 index 00000000..24ba2966 --- /dev/null +++ b/packaging/scripts/test.sh @@ -0,0 +1,27 @@ +#!/bin/sh + +wait_for() { + host="${1}" + port="${2}" + name="${3}" + timeout="${4:-30}" + + printf "Waiting for %s on %s:%s ... " "${name}" "${host}" "${port}" + + i=0 + while ! nc -z "${host}" "${port}"; do + sleep 1 + if [ "$i" -gt "$timeout" ]; then + printf "Timed out!\n" + return 1 + fi + i="$((i + 1))" + done + printf "OK\n" +} + +netdata -D > netdata.log 2>&1 & + +wait_for localhost 19999 netdata + +curl -sS http://127.0.0.1:19999/api/v1/info | jq '.version' |