diff --git a/master-nonlatent/master.cfg b/master-nonlatent/master.cfg index 8c87d8b5a..93df98457 100644 --- a/master-nonlatent/master.cfg +++ b/master-nonlatent/master.cfg @@ -735,7 +735,9 @@ f_dockerlibrary.addStep( "bash", "-xc", util.Interpolate( - './docker-library-test.sh "%(prop:tarbuildnum)s" "%(prop:parentbuildername)s"' + './docker-library-test.sh "%(prop:tarbuildnum)s" "%(prop:parentbuildername)s" "' + + os.environ.get("MTR_LOG_COLLECTOR_BASE_URL") + + '" "%(prop:branch)s" "%(prop:revision)s" "%(prop:buildername)s" "%(prop:buildnumber)s"' ), ], warnOnWarnings=True, diff --git a/scripts/docker-library-test.sh b/scripts/docker-library-test.sh index ec6011286..2df613ab8 100755 --- a/scripts/docker-library-test.sh +++ b/scripts/docker-library-test.sh @@ -4,6 +4,15 @@ set -xeuvo pipefail tarbuildnum=${1} buildername=${2} +BASE_URL="$3" # e.g., http://100.64.101.1:9990 +BRANCH="$4" +REVISION="$5" +PLATFORM="$6" +BBNUM="$7" + +UPLOAD_URL="${BASE_URL}/upload-test-results/" +HEALTH_URL="${BASE_URL}/health" + builderarch=${buildername%%-*} @@ -32,5 +41,38 @@ fi # clean images if test does not succeed #trap 'buildah rmi "$image"' EXIT -mariadb-docker/.test/run.sh "$image" +ret=0 +mariadb-docker/.test/run.sh --xml=doi.xml "$image" || ret=1 + +if [ $ret ] && ! curl "$HEALTH_URL" \ + --max-time 5 \ + --retry 3 \ + --retry-max-time 0 \ + --retry-delay 5 \ + --retry-connrefused \ + --fail-with-body; then + echo "Service health check failed. Aborting uploads." + exit 2 +fi + +if [ ! -f doi.xml ]; then + echo "Test result file doi.xml not created" + exit 1 +fi + +[ $ret ] && curl \ + --max-time 120 \ + --connect-timeout 10 \ + --fail-with-body \ + -X POST "$UPLOAD_URL" \ + -F "branch=${BRANCH}" \ + -F "revision=${REVISION}" \ + -F "platform=${PLATFORM}" \ + -F "bbnum=${BBNUM}" \ + -F "typ=docker_offical_images" \ + -F "file=@doi.xml;type=application/xml" || exit 1 +rm -f doi.xml + trap - EXIT + +exit $ret