diff --git a/.github/workflows/script/update-required-checks.sh b/.github/workflows/script/update-required-checks.sh index 5545984e7e..e8e1460343 100755 --- a/.github/workflows/script/update-required-checks.sh +++ b/.github/workflows/script/update-required-checks.sh @@ -2,17 +2,19 @@ # Update the required checks based on the current branch. # Typically, this will be main. -if [ -z "$GITHUB_TOKEN" ]; then - echo "Failed: No GitHub token found. This script requires admin access to `github/codeql-action`." +if ! gh auth status 2>/dev/null; then + gh auth status + echo "Failed: Not authorized. This script requires admin access to github/codeql-action through the gh CLI." exit 1 fi if [ "$#" -eq 1 ]; then - # If we were passed an argument, pass it as a query to fzf - GITHUB_SHA="$@" + # If we were passed an argument, use that as the SHA + GITHUB_SHA="$0" elif [ "$#" -gt 1 ]; then echo "Usage: $0 [SHA]" echo "Update the required checks based on the SHA, or main." + exit 1 elif [ -z "$GITHUB_SHA" ]; then # If we don't have a SHA, use main GITHUB_SHA="$(git rev-parse main)" @@ -21,7 +23,7 @@ fi echo "Getting checks for $GITHUB_SHA" # Ignore any checks with "https://", CodeQL, LGTM, and Update checks. -CHECKS="$(gh api repos/github/codeql-action/commits/${GITHUB_SHA}/check-runs --paginate | jq --slurp --compact-output --raw-output '[.[].check_runs | .[].name | select(contains("https://") or . == "CodeQL" or . == "LGTM.com" or contains("Update") or contains("update") | not)] | unique | sort')" +CHECKS="$(gh api repos/github/codeql-action/commits/"${GITHUB_SHA}"/check-runs --paginate | jq --slurp --compact-output --raw-output '[.[].check_runs | .[].name | select(contains("https://") or . == "CodeQL" or . == "LGTM.com" or contains("Update") or contains("update") | not)] | unique | sort')" echo "$CHECKS" | jq