mirror of
https://github.com/netdata/netdata.git
synced 2025-04-22 12:32:32 +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
|
#!/bin/sh
|
||||||
|
|
||||||
|
SCRIPT_DIR="$(CDPATH='' cd -- "$(dirname -- "$0")" && pwd -P)"
|
||||||
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
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
|
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
|
sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get install -y netcat
|
||||||
fi
|
fi
|
||||||
|
@ -55,10 +22,9 @@ docker run -d --name=netdata \
|
||||||
--security-opt apparmor=unconfined \
|
--security-opt apparmor=unconfined \
|
||||||
netdata/netdata:test
|
netdata/netdata:test
|
||||||
|
|
||||||
wait_for localhost 19999 netdata || exit 1
|
if ! "${SCRIPT_DIR}/../../packaging/runtime-check.sh"; then
|
||||||
|
docker ps -a
|
||||||
curl -sS http://127.0.0.1:19999/api/v1/info > ./response || exit 1
|
echo "::group::Netdata container logs"
|
||||||
|
docker logs netdata 2>&1
|
||||||
cat ./response
|
echo "::endgroup::"
|
||||||
|
fi
|
||||||
jq '.version' ./response || exit 1
|
|
||||||
|
|
41
.github/scripts/pkg-test.sh
vendored
41
.github/scripts/pkg-test.sh
vendored
|
@ -1,5 +1,7 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
SCRIPT_DIR="$(CDPATH='' cd -- "$(dirname -- "$0")" && pwd -P)"
|
||||||
|
|
||||||
install_debian_like() {
|
install_debian_like() {
|
||||||
# This is needed to ensure package installs don't prompt for any user input.
|
# This is needed to ensure package installs don't prompt for any user input.
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
|
@ -94,37 +96,6 @@ dump_log() {
|
||||||
cat ./netdata.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
|
case "${DISTRO}" in
|
||||||
debian | ubuntu)
|
debian | ubuntu)
|
||||||
install_debian_like
|
install_debian_like
|
||||||
|
@ -151,12 +122,6 @@ trap dump_log EXIT
|
||||||
|
|
||||||
/usr/sbin/netdata -D > ./netdata.log 2>&1 &
|
/usr/sbin/netdata -D > ./netdata.log 2>&1 &
|
||||||
|
|
||||||
wait_for localhost 19999 netdata || exit 1
|
"${SCRIPT_DIR}/../../packaging/runtime-check.sh" || exit 1
|
||||||
|
|
||||||
curl -sS http://127.0.0.1:19999/api/v1/info > ./response || exit 1
|
|
||||||
|
|
||||||
cat ./response
|
|
||||||
|
|
||||||
jq '.version' ./response || exit 1
|
|
||||||
|
|
||||||
trap - EXIT
|
trap - EXIT
|
||||||
|
|
|
@ -8,47 +8,10 @@ dump_log() {
|
||||||
cat ./netdata.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
|
trap dump_log EXIT
|
||||||
|
|
||||||
"${NETDATA_INSTALL_PATH}/bin/netdata" -D > ./netdata.log 2>&1 &
|
"${NETDATA_INSTALL_PATH}/bin/netdata" -D > ./netdata.log 2>&1 &
|
||||||
|
|
||||||
wait_for localhost 19999 netdata || exit 1
|
"${NETDATA_SOURCE_PATH}/packaging/runtime-check.sh" || exit 1
|
||||||
|
|
||||||
curl -sS http://127.0.0.1:19999/api/v1/info > ./response || exit 1
|
|
||||||
|
|
||||||
cat ./response
|
|
||||||
|
|
||||||
jq '.version' ./response || exit 1
|
|
||||||
|
|
||||||
trap - EXIT
|
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