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"