Skip to content

Commit 0adb8ed

Browse files
committed
ci(pr): tolerate project metadata rate limits
Refs #1
1 parent 70e6bf9 commit 0adb8ed

1 file changed

Lines changed: 13 additions & 7 deletions

File tree

.github/workflows/pr-metadata.yml

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ jobs:
254254
PR_URL: ${{ github.event.pull_request.html_url }}
255255
shell: bash
256256
run: |
257-
set -euo pipefail
257+
set -uo pipefail
258258
IFS=',' read -ra urls <<< "${TRIAGE_PROJECT_URLS}"
259259
today="$(date -u +%F)"
260260
for url in "${urls[@]}"; do
@@ -271,9 +271,15 @@ jobs:
271271
continue
272272
fi
273273
274-
project_json="$(gh project view "$project_number" --owner "$owner" --format json)"
274+
project_json="$(gh project view "$project_number" --owner "$owner" --format json)" || {
275+
echo "::warning::Could not read project $owner/$project_number. Skipping project metadata."
276+
continue
277+
}
275278
project_id="$(jq -r '.id' <<< "$project_json")"
276-
item_id="$(gh project item-add "$project_number" --owner "$owner" --url "$PR_URL" --format json --jq '.id')"
279+
item_id="$(gh project item-add "$project_number" --owner "$owner" --url "$PR_URL" --format json --jq '.id')" || {
280+
echo "::warning::Could not add PR to project $owner/$project_number. Skipping project metadata."
281+
continue
282+
}
277283
status_field_id="$(gh project field-list "$project_number" --owner "$owner" --format json --jq '.fields[] | select(.name == "Status") | .id')"
278284
status_option_id="$(gh project field-list "$project_number" --owner "$owner" --format json --jq '.fields[] | select(.name == "Status") | .options[] | select(.name == "In Progress") | .id')"
279285
if [ -z "$status_option_id" ]; then
@@ -288,15 +294,15 @@ jobs:
288294
fi
289295
290296
if [ -n "$item_id" ] && [ -n "$status_field_id" ] && [ -n "$status_option_id" ]; then
291-
gh project item-edit --id "$item_id" --project-id "$project_id" --field-id "$status_field_id" --single-select-option-id "$status_option_id"
297+
gh project item-edit --id "$item_id" --project-id "$project_id" --field-id "$status_field_id" --single-select-option-id "$status_option_id" || echo "::warning::Could not set project status."
292298
fi
293299
if [ -n "$item_id" ] && [ -n "$start_field_id" ]; then
294-
gh project item-edit --id "$item_id" --project-id "$project_id" --field-id "$start_field_id" --date "$today"
300+
gh project item-edit --id "$item_id" --project-id "$project_id" --field-id "$start_field_id" --date "$today" || echo "::warning::Could not set project start date."
295301
fi
296302
if [ -n "$item_id" ] && [ -n "$target_field_id" ]; then
297-
gh project item-edit --id "$item_id" --project-id "$project_id" --field-id "$target_field_id" --date "$today"
303+
gh project item-edit --id "$item_id" --project-id "$project_id" --field-id "$target_field_id" --date "$today" || echo "::warning::Could not set project target date."
298304
fi
299305
if [ -n "$item_id" ] && [ -n "$priority_field_id" ] && [ -n "$priority_option_id" ]; then
300-
gh project item-edit --id "$item_id" --project-id "$project_id" --field-id "$priority_field_id" --single-select-option-id "$priority_option_id"
306+
gh project item-edit --id "$item_id" --project-id "$project_id" --field-id "$priority_field_id" --single-select-option-id "$priority_option_id" || echo "::warning::Could not set project priority."
301307
fi
302308
done

0 commit comments

Comments
 (0)