summaryrefslogtreecommitdiffstats
path: root/packaging/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'packaging/scripts')
-rwxr-xr-xpackaging/scripts/install.sh58
-rwxr-xr-xpackaging/scripts/test.sh27
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'