Check Coverity service API usage quota 14/89714/3
authorArtem Naluzhnyy <A.Naluzhnyy@samsung.com>
Tue, 11 Jun 2019 15:14:07 +0000 (17:14 +0200)
committerJessica Wagantall <jwagantall@linuxfoundation.org>
Wed, 12 Jun 2019 00:49:31 +0000 (00:49 +0000)
Check if we are allowed to submit results to Coverity Scan service and have
not exceeded our upload quota limits. See also: https://scan.coverity.com/faq#frequency

Issue-ID: CIMAN-260
Signed-off-by: Artem Naluzhnyy <A.Naluzhnyy@samsung.com>
Change-Id: I71479cfdd8403e717e6c807a8afb5aadad25fdde

shell/maven-coverity.sh

index 7397542..76ba423 100644 (file)
@@ -19,6 +19,31 @@ PS4='+['$(readlink -f "$0")' ${FUNCNAME[0]%main}#$LINENO] '
 
 echo '---> maven-coverity.sh'
 
+#-----------------------------------------------------------------------------
+# Check if we are allowed to submit results to Coverity Scan service
+# and have not exceeded our upload quota limits
+# See also: https://scan.coverity.com/faq#frequency
+
+CURL_OUTPUT=$(
+  curl \
+    --verbose \
+    --silent \
+    --show-error \
+    --fail \
+    --form "project=${COVERITY_PROJECT_NAME}" \
+    --form "token=${COVERITY_TOKEN}" \
+    'https://scan.coverity.com/api/upload_permitted'
+)
+
+IS_COVERITY_UPLOAD_PERMITTED=$(
+  echo "${CURL_OUTPUT}" \
+  | jq '.upload_permitted'
+)
+if [ x"${IS_COVERITY_UPLOAD_PERMITTED}" != x'true' ]; then
+  echo "Upload quota reached. Next upload permitted at "$(echo "${CURL_OUTPUT}" | jq '.next_upload_permitted_at') >&2
+  exit 1
+fi
+
 #-----------------------------------------------------------------------------
 # Get Coverity Scan build tool