@cryptotaxi247 / netdata-1 / commits / 2584ebc2a

Add extra verification to Docker builds. (#11497)

Austin S. Hemmelgarn committed Sep 15, 2021 at 07:32 UTC 2584ebc2a9515efea3f816f9b45bde0390d30dbb
2 files changed +66
.github/scripts/docker-test.sh new
+58
@@ -0,0 +1,58 @@
1 +#!/bin/sh
2 +
3 +export DEBIAN_FRONTEND=noninteractive
4 +
5 +wait_for() {
6 + host="${1}"
7 + port="${2}"
8 + name="${3}"
9 + timeout="30"
10 +
11 + if command -v nc > /dev/null ; then
12 + netcat="nc"
13 + elif command -v netcat > /dev/null ; then
14 + netcat="netcat"
15 + else
16 + printf "Unable to find a usable netcat command.\n"
17 + return 1
18 + fi
19 +
20 + printf "Waiting for %s on %s:%s ... " "${name}" "${host}" "${port}"
21 +
22 + sleep 30
23 +
24 + i=0
25 + while ! ${netcat} -z "${host}" "${port}"; do
26 + sleep 1
27 + if [ "$i" -gt "$timeout" ]; then
28 + printf "Timed out!\n"
29 + return 1
30 + fi
31 + i="$((i + 1))"
32 + done
33 + printf "OK\n"
34 +}
35 +
36 +apt-get update && apt-get upgrade -y && apt get install -y netcat
37 +
38 +docker run -d --name=netdata \
39 + -p 19999:19999 \
40 + -v netdataconfig:/etc/netdata \
41 + -v netdatalib:/var/lib/netdata \
42 + -v netdatacache:/var/cache/netdata \
43 + -v /etc/passwd:/host/etc/passwd:ro \
44 + -v /etc/group:/host/etc/group:ro \
45 + -v /proc:/host/proc:ro \
46 + -v /sys:/host/sys:ro \
47 + -v /etc/os-release:/host/etc/os-release:ro \
48 + --cap-add SYS_PTRACE \
49 + --security-opt apparmor=unconfined \
50 + netdata/netdata:test
51 +
52 +wait_for localhost 19999 netdata || exit 1
53 +
54 +curl -sS http://127.0.0.1:19999/api/v1/info > ./response || exit 1
55 +
56 +cat ./response
57 +
58 +jq '.version' ./response || exit 1
.github/workflows/docker.yml
+8
@@ -47,6 +47,14 @@ jobs:
47 with:
48 username: ${{ secrets.DOCKER_HUB_USERNAME }}
49 password: ${{ secrets.DOCKER_HUB_PASSWORD }}
50 + - name: Test Build
51 + uses: docker/build-push-action@v2
52 + with:
53 + load: true
54 + push: false
55 + tags: netdata/netdata:test
56 + - name: Test Image
57 + run: .github/scripts/docker-test.sh
58 - name: Docker Build
59 uses: docker/build-push-action@v2
60 with: