github.com/redhat-appstudio/e2e-tests@v0.0.0-20240520140907-9709f6f59323/tests/load-tests/clear.sh (about) 1 #!/bin/bash 2 USER_PREFIX=${1:-testuser} 3 4 response_headers=$(mktemp) 5 repo_list=$(mktemp) 6 7 curl_args='-s -H "Accept: application/vnd.github+json" -H "Authorization: token '$GITHUB_TOKEN'" -H "X-GitHub-Api-Version: 2022-11-28" -D '$response_headers 8 9 echo -n "Collecting list of repos with prefix '${USER_PREFIX}' in '${MY_GITHUB_ORG}' organization to delete" 10 page=1 11 while true; do 12 echo -n "." 13 echo "$curl_args" "https://api.github.com/orgs/${MY_GITHUB_ORG}/repos?per_page=100&page=$page" | xargs curl | jq -r '.[] | select(.name | startswith("'"$USER_PREFIX-"'")).name' >>"$repo_list" 14 15 if ! grep -q 'rel="next"' "$response_headers"; then 16 break 17 fi 18 19 ((page++)) 20 done 21 22 DRY_RUN=${DRY_RUN:-true} 23 echo " Found $(wc -l <"$repo_list") repos" 24 while read -r repo; do 25 if [ "$DRY_RUN" == "false" ]; then 26 echo "Deleting repo $MY_GITHUB_ORG/$repo" 27 echo "$curl_args" -X DELETE "https://api.github.com/repos/${MY_GITHUB_ORG}/$repo" | xargs curl 28 else 29 echo "[DRY-RUN] Would have deleted repo $MY_GITHUB_ORG/$repo" 30 fi 31 done <"$repo_list"