From e79e13899dbbfc6e6a83d45f9c392f019c0bcbb8 Mon Sep 17 00:00:00 2001 From: Yihau Chen Date: Wed, 26 Apr 2023 08:36:50 +0800 Subject: [PATCH] ci: use crates api to get owner list (#31348) use crete api to get owner lists --- ci/check-crates.sh | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/ci/check-crates.sh b/ci/check-crates.sh index 4270feb3e..9e70a2550 100755 --- a/ci/check-crates.sh +++ b/ci/check-crates.sh @@ -50,9 +50,11 @@ for file in "${files[@]}"; do fi done - result="$(cargo owner --list -q "$crate_name" --token "$CRATE_TOKEN" 2>&1)" - if [[ $result =~ ^error ]]; then - if [[ $result == *"Not Found"* ]]; then + response=$(curl -s https://crates.io/api/v1/crates/"$crate_name"/owners) + errors=$(echo "$response" | jq .errors) + if [[ $errors != "null" ]]; then + details=$(echo "$response" | jq .errors | jq -r ".[0].detail") + if [[ $details = *"Not Found"* ]]; then ((error_count++)) echo "❌ new crate $crate_name not found on crates.io. you can either @@ -83,10 +85,10 @@ or " else ((error_count++)) - echo "❌ $result" + echo "❌ $response" fi else - readarray -t owners <<<"$result" + readarray -t owners <<<"$(echo "$response" | jq .users | jq -r ".[] | .login")" verified_owner_count=0 unverified_owner_count=0 @@ -113,6 +115,7 @@ or fi fi echo "" + done if [ "$error_count" -eq 0 ]; then