diff options
Diffstat (limited to 'packaging/scripts')
-rwxr-xr-x | packaging/scripts/install.sh | 35 | ||||
-rwxr-xr-x | packaging/scripts/test.sh | 35 |
2 files changed, 60 insertions, 10 deletions
diff --git a/packaging/scripts/install.sh b/packaging/scripts/install.sh index db8d4a67..c591b0be 100755 --- a/packaging/scripts/install.sh +++ b/packaging/scripts/install.sh @@ -7,7 +7,7 @@ install_debian_like() { apt-get update # Install NetData - apt-get install -y "/artifacts/netdata_${VERSION}_${ARCH}.deb" + apt-get install -y "/packages/netdata_${VERSION}_${ARCH}.deb" # Install testing tools apt-get install -y --no-install-recommends \ @@ -20,8 +20,28 @@ install_fedora_like() { PKGMGR="$( (command -v dnf > /dev/null && echo "dnf") || echo "yum")" + pkg_version="$(echo "${VERSION}" | tr - .)" + # Install NetData - "$PKGMGR" install -y /artifacts/netdata-"${VERSION}"-*.rpm + "$PKGMGR" install -y /packages/netdata-"${pkg_version}"-*.rpm + + # Install testing tools + "$PKGMGR" install -y curl nc jq +} + +install_centos() { + # 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")" + + pkg_version="$(echo "${VERSION}" | tr - .)" + + # Install EPEL (needed for `jq` + "$PKGMGR" install -y epel-release + + # Install NetData + "$PKGMGR" install -y /packages/netdata-"${pkg_version}"-*.rpm # Install testing tools "$PKGMGR" install -y curl nc jq @@ -31,23 +51,28 @@ 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!) + pkg_version="$(echo "${VERSION}" | tr - .)" + # Install NetData # FIXME: Allow unsigned packages (for now) #7773 zypper install -y --allow-unsigned-rpm \ - /artifacts/netdata-"${VERSION}"-*.rpm + /packages/netdata-"${pkg_version}"-*.rpm # Install testing tools zypper install -y --no-recommends \ - curl netcat jq + curl gnu-netcat jq } case "${DISTRO}" in debian | ubuntu) install_debian_like ;; - fedora | centos) + fedora) install_fedora_like ;; + centos) + install_centos + ;; opensuse) install_suse_like ;; diff --git a/packaging/scripts/test.sh b/packaging/scripts/test.sh index 24ba2966..c3908262 100755 --- a/packaging/scripts/test.sh +++ b/packaging/scripts/test.sh @@ -1,15 +1,32 @@ #!/bin/sh +dump_log() { + cat ./netdata.log +} + +trap dump_log EXIT + wait_for() { host="${1}" port="${2}" name="${3}" - timeout="${4:-30}" + timeout="30" + + if command -v nc > /dev/null ; then + netcat="nc" + elif command -v netcat > /dev/null ; then + netcat="netcat" + else + printf "Unable to find a usable netcat command.\n" + return 1 + fi printf "Waiting for %s on %s:%s ... " "${name}" "${host}" "${port}" + sleep 30 + i=0 - while ! nc -z "${host}" "${port}"; do + while ! ${netcat} -z "${host}" "${port}"; do sleep 1 if [ "$i" -gt "$timeout" ]; then printf "Timed out!\n" @@ -20,8 +37,16 @@ wait_for() { printf "OK\n" } -netdata -D > netdata.log 2>&1 & +/usr/sbin/netdata -D > ./netdata.log 2>&1 & + +wait_for localhost 19999 netdata || exit 1 + +curl -sS http://127.0.0.1:19999/api/v1/info > ./response || exit 1 + +cat ./response + +jq '.version' ./response || exit 1 -wait_for localhost 19999 netdata +trap - EXIT -curl -sS http://127.0.0.1:19999/api/v1/info | jq '.version' +cp -a /packages/* /artifacts |