From: Johannes Schindelin <johannes.schindelin@xxxxxx> When trying to obtain the MD5 of the Coverity Scan Tool (in order to decide whether a cached version can be used or a new version has to be downloaded), it is possible to get a 401 (Authorization required) due to either an incorrect token, or even more likely due to an incorrect Coverity project name. Let's detect that scenario and provide a helpful error message instead of trying to go forward with an empty string instead of the correct MD5. Signed-off-by: Johannes Schindelin <johannes.schindelin@xxxxxx> --- .github/workflows/coverity.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/coverity.yml b/.github/workflows/coverity.yml index ca51048ed9d..12cdbaf7ffd 100644 --- a/.github/workflows/coverity.yml +++ b/.github/workflows/coverity.yml @@ -76,7 +76,20 @@ jobs: echo "COVERITY_TOOL_FILENAME=$COVERITY_TOOL_FILENAME" >>$GITHUB_ENV echo "MAKEFLAGS=$MAKEFLAGS" >>$GITHUB_ENV MD5=$(curl https://scan.coverity.com/download/$COVERITY_LANGUAGE/$COVERITY_PLATFORM \ + -D "$RUNNER_TEMP"/headers.txt \ --data "token=${{ secrets.COVERITY_SCAN_TOKEN }}&project=$COVERITY_PROJECT&md5=1") + http_code="$(sed -n 1p <"$RUNNER_TEMP"/headers.txt)" + case "$http_code" in + *200*) ;; # okay + *401*) # access denied + echo "::error::incorrect token or project? ($http_code)" >&2 + exit 1 + ;; + *) # other error + echo "::error::HTTP error $http_code" >&2 + exit 1 + ;; + esac echo "hash=$MD5" >>$GITHUB_OUTPUT # Try to cache the tool to avoid downloading 1GB+ on every run. -- gitgitgadget