mirror of
https://github.com/netdata/netdata.git
synced 2025-04-13 01:08:11 +00:00
CI runtime check cleanup (#16713)
* Centralize runtime check code used throughout CI. * Add checks to confirm that each of the agent dashboards can be fetched.
This commit is contained in:
parent
b70e223e80
commit
ffb5791a4f
4 changed files with 62 additions and 118 deletions
.github/scripts
packaging
50
.github/scripts/docker-test.sh
vendored
50
.github/scripts/docker-test.sh
vendored
|
@ -1,42 +1,9 @@
|
|||
#!/bin/sh
|
||||
|
||||
SCRIPT_DIR="$(CDPATH='' cd -- "$(dirname -- "$0")" && pwd -P)"
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
wait_for() {
|
||||
host="${1}"
|
||||
port="${2}"
|
||||
name="${3}"
|
||||
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 ! ${netcat} -z "${host}" "${port}"; do
|
||||
sleep 1
|
||||
if [ "$i" -gt "$timeout" ]; then
|
||||
printf "Timed out!\n"
|
||||
docker ps -a
|
||||
echo "::group::Netdata container logs"
|
||||
docker logs netdata 2>&1
|
||||
echo "::endgroup::"
|
||||
return 1
|
||||
fi
|
||||
i="$((i + 1))"
|
||||
done
|
||||
printf "OK\n"
|
||||
}
|
||||
|
||||
if [ -z "$(command -v nc 2>/dev/null)" ] && [ -z "$(command -v netcat 2>/dev/null)" ]; then
|
||||
sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get install -y netcat
|
||||
fi
|
||||
|
@ -55,10 +22,9 @@ docker run -d --name=netdata \
|
|||
--security-opt apparmor=unconfined \
|
||||
netdata/netdata:test
|
||||
|
||||
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
|
||||
if ! "${SCRIPT_DIR}/../../packaging/runtime-check.sh"; then
|
||||
docker ps -a
|
||||
echo "::group::Netdata container logs"
|
||||
docker logs netdata 2>&1
|
||||
echo "::endgroup::"
|
||||
fi
|
||||
|
|
41
.github/scripts/pkg-test.sh
vendored
41
.github/scripts/pkg-test.sh
vendored
|
@ -1,5 +1,7 @@
|
|||
#!/bin/sh
|
||||
|
||||
SCRIPT_DIR="$(CDPATH='' cd -- "$(dirname -- "$0")" && pwd -P)"
|
||||
|
||||
install_debian_like() {
|
||||
# This is needed to ensure package installs don't prompt for any user input.
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
@ -94,37 +96,6 @@ dump_log() {
|
|||
cat ./netdata.log
|
||||
}
|
||||
|
||||
wait_for() {
|
||||
host="${1}"
|
||||
port="${2}"
|
||||
name="${3}"
|
||||
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 ! ${netcat} -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"
|
||||
}
|
||||
|
||||
case "${DISTRO}" in
|
||||
debian | ubuntu)
|
||||
install_debian_like
|
||||
|
@ -151,12 +122,6 @@ trap dump_log EXIT
|
|||
|
||||
/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
|
||||
"${SCRIPT_DIR}/../../packaging/runtime-check.sh" || exit 1
|
||||
|
||||
trap - EXIT
|
||||
|
|
|
@ -8,47 +8,10 @@ dump_log() {
|
|||
cat ./netdata.log
|
||||
}
|
||||
|
||||
wait_for() {
|
||||
host="${1}"
|
||||
port="${2}"
|
||||
name="${3}"
|
||||
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 ! ${netcat} -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"
|
||||
}
|
||||
|
||||
trap dump_log EXIT
|
||||
|
||||
"${NETDATA_INSTALL_PATH}/bin/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
|
||||
"${NETDATA_SOURCE_PATH}/packaging/runtime-check.sh" || exit 1
|
||||
|
||||
trap - EXIT
|
||||
|
|
50
packaging/runtime-check.sh
Executable file
50
packaging/runtime-check.sh
Executable file
|
@ -0,0 +1,50 @@
|
|||
#!/bin/sh
|
||||
|
||||
wait_for() {
|
||||
host="${1}"
|
||||
port="${2}"
|
||||
name="${3}"
|
||||
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 ! ${netcat} -z "${host}" "${port}"; do
|
||||
sleep 1
|
||||
if [ "$i" -gt "$timeout" ]; then
|
||||
printf "Timed out!\n"
|
||||
return 2
|
||||
fi
|
||||
i="$((i + 1))"
|
||||
done
|
||||
printf "OK\n"
|
||||
}
|
||||
|
||||
wait_for localhost 19999 netdata
|
||||
|
||||
case $? in
|
||||
1) exit 2 ;;
|
||||
2) exit 3 ;;
|
||||
esac
|
||||
|
||||
curl -sfS http://127.0.0.1:19999/api/v1/info > ./response || exit 1
|
||||
|
||||
cat ./response
|
||||
|
||||
jq '.version' ./response || exit 1
|
||||
|
||||
curl -sfS http://127.0.0.1:19999/index.html || exit 1
|
||||
curl -sfS http://127.0.0.1:19999/v0/index.html || exit 1
|
||||
curl -sfS http://127.0.0.1:19999/v1/index.html || exit 1
|
||||
curl -sfS http://127.0.0.1:19999/v2/index.html || exit 1
|
Loading…
Add table
Reference in a new issue