Update .gitea/workflows/ci.yml
This commit is contained in:
@@ -31,16 +31,16 @@ jobs:
|
|||||||
|
|
||||||
- name: Generate Skin Data Files
|
- name: Generate Skin Data Files
|
||||||
id: generate_data
|
id: generate_data
|
||||||
shell: bash # Changed to bash for array support and better process substitution
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
set -euo pipefail # Exit on error, unset variable, or pipeline failure
|
set -euo pipefail
|
||||||
|
|
||||||
total_valid_entries=0
|
total_valid_entries=0
|
||||||
user_rows_file=$(mktemp)
|
user_rows_file=$(mktemp)
|
||||||
avatar_rows_file=$(mktemp)
|
avatar_rows_file=$(mktemp)
|
||||||
|
|
||||||
page=1
|
page=1
|
||||||
users_data_found=true # Flag to control the outer loop
|
users_data_found=true
|
||||||
while "$users_data_found"; do
|
while "$users_data_found"; do
|
||||||
echo "Fetching users page $page..." >&2
|
echo "Fetching users page $page..." >&2
|
||||||
users_json=$(curl --fail --retry 3 --retry-delay 5 -sSL \
|
users_json=$(curl --fail --retry 3 --retry-delay 5 -sSL \
|
||||||
@@ -61,24 +61,31 @@ jobs:
|
|||||||
-H "Authorization: token ${{ secrets.TOKEN }}" \
|
-H "Authorization: token ${{ secrets.TOKEN }}" \
|
||||||
"$GITEA_API/users/$user_login/repos?limit=50&page=1&_ts=$(date +%s)")
|
"$GITEA_API/users/$user_login/repos?limit=50&page=1&_ts=$(date +%s)")
|
||||||
|
|
||||||
if ! echo "$repos_json" | jq -e '.[0]' >/dev/null; then # Check if it's an empty array
|
if ! echo "$repos_json" | jq -e '.[0]' >/dev/null; then
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mapfile -t repo_details < <(echo "$repos_json" | jq -r '.[] | .owner.login, .name, .html_url')
|
mapfile -t repo_details < <(echo "$repos_json" | jq -r '.[] | .owner.login, .name, .html_url')
|
||||||
|
|
||||||
for ((i=0; i<${#repo_details[@]}; i+=3)); do # THIS LOOP STARTS HERE
|
for ((i=0; i<${#repo_details[@]}; i+=3)); do
|
||||||
owner="${repo_details[i]}"
|
owner="${repo_details[i]}"
|
||||||
repo="${repo_details[i+1]}"
|
repo="${repo_details[i+1]}"
|
||||||
html_url="${repo_details[i+2]}"
|
html_url="${repo_details[i+2]}"
|
||||||
|
|
||||||
echo " Checking repo: $repo" >&2
|
echo " Checking repo: $repo" >&2
|
||||||
if ! http_code=$(curl --fail --retry 3 --retry-delay 5 -s -w "%{http_code}" -o readme_content.json \
|
|
||||||
|
curl_output=$(curl --fail --retry 3 --retry-delay 5 -s -w "%{http_code}" -o readme_content.json \
|
||||||
-H "Authorization: token ${{ secrets.TOKEN }}" \
|
-H "Authorization: token ${{ secrets.TOKEN }}" \
|
||||||
"$GITEA_API/repos/$owner/$repo/contents/README.md?_ts=$(date +%s)"); then
|
"$GITEA_API/repos/$owner/$repo/contents/README.md?_ts=$(date +%s)")
|
||||||
|
|
||||||
|
curl_exit=$?
|
||||||
|
http_code="$curl_output"
|
||||||
|
|
||||||
|
if [ $curl_exit -ne 0 ]; then
|
||||||
echo "Failed to fetch README for $owner/$repo (HTTP $http_code)" >&2
|
echo "Failed to fetch README for $owner/$repo (HTTP $http_code)" >&2
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$http_code" != "200" ]; then
|
if [ "$http_code" != "200" ]; then
|
||||||
echo "README not found for $owner/$repo (HTTP $http_code)" >&2
|
echo "README not found for $owner/$repo (HTTP $http_code)" >&2
|
||||||
continue
|
continue
|
||||||
@@ -121,10 +128,10 @@ jobs:
|
|||||||
else
|
else
|
||||||
echo "README for $owner/$repo does not match required format" >&2
|
echo "README for $owner/$repo does not match required format" >&2
|
||||||
fi
|
fi
|
||||||
done # <--- ADDED THIS MISSING 'done' for the for ((i=0; i<${#repo_details[@]}; i+=3)) loop
|
done
|
||||||
done # End of for user_logins loop
|
done
|
||||||
page=$((page + 1))
|
page=$((page + 1))
|
||||||
done # End of while users_data_found loop
|
done
|
||||||
|
|
||||||
echo "user_rows_file=$user_rows_file" >> "$GITHUB_OUTPUT"
|
echo "user_rows_file=$user_rows_file" >> "$GITHUB_OUTPUT"
|
||||||
echo "avatar_rows_file=$avatar_rows_file" >> "$GITHUB_OUTPUT"
|
echo "avatar_rows_file=$avatar_rows_file" >> "$GITHUB_OUTPUT"
|
||||||
|
|||||||
Reference in New Issue
Block a user