diff options
Diffstat (limited to 'packaging')
-rw-r--r-- | packaging/Dockerfile.packager | 13 | ||||
-rwxr-xr-x | packaging/scripts/install.sh | 23 | ||||
-rwxr-xr-x | packaging/scripts/test.sh | 22 |
3 files changed, 46 insertions, 12 deletions
diff --git a/packaging/Dockerfile.packager b/packaging/Dockerfile.packager index 14f711ca68..e0591491f2 100644 --- a/packaging/Dockerfile.packager +++ b/packaging/Dockerfile.packager @@ -1,36 +1,37 @@ ARG ARCH=amd64 ARG DISTRO=debian +ARG TEST_BASE=debian ARG DISTRO_VERSION=10 -ARG VERSION=0.1 +ARG PKG_VERSION=0.1 FROM netdata/package-builders:${DISTRO}${DISTRO_VERSION} AS build ARG ARCH ARG DISTRO ARG DISTRO_VERSION -ARG VERSION +ARG PKG_VERSION ENV ARCH=$ARCH ENV DISTRO=$DISTRO ENV DISTRO_VERSION=$DISTRO_VERSION -ENV VERSION=$VERSION +ENV VERSION=$PKG_VERSION WORKDIR /netdata COPY . . RUN /build.sh -FROM ${DISTRO}:${DISTRO_VERSION} AS runtime +FROM ${TEST_BASE}:${DISTRO_VERSION} AS runtime ARG ARCH ARG DISTRO ARG DISTRO_VERSION -ARG VERSION +ARG PKG_VERSION ENV ARCH=$ARCH ENV DISTRO=$DISTRO ENV DISTRO_VERSION=$DISTRO_VERSION -ENV VERSION=$VERSION +ENV VERSION=$PKG_VERSION COPY ./packaging/scripts/install.sh /install.sh COPY ./packaging/scripts/test.sh /test.sh diff --git a/packaging/scripts/install.sh b/packaging/scripts/install.sh index db8d4a67f4..5418ecec46 100755 --- a/packaging/scripts/install.sh +++ b/packaging/scripts/install.sh @@ -27,6 +27,22 @@ install_fedora_like() { "$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")" + + # Install EPEL (needed for `jq` + "$PKGMGR" install -y epel-release + + # 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!) @@ -38,16 +54,19 @@ install_suse_like() { # 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 24ba2966f5..d33bcc2438 100755 --- a/packaging/scripts/test.sh +++ b/packaging/scripts/test.sh @@ -1,13 +1,21 @@ #!/bin/sh +dump_log() { + cat ./netdata.log +} + +trap dump_log EXIT + wait_for() { host="${1}" port="${2}" name="${3}" - timeout="${4:-30}" + timeout="30" printf "Waiting for %s on %s:%s ... " "${name}" "${host}" "${port}" + sleep 30 + i=0 while ! nc -z "${host}" "${port}"; do sleep 1 @@ -20,8 +28,14 @@ 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 -wait_for localhost 19999 netdata +jq '.version' ./response || exit 1 -curl -sS http://127.0.0.1:19999/api/v1/info | jq '.version' +trap - EXIT |