From 24665019bddadf00823faf01abc527a4354bed1c Mon Sep 17 00:00:00 2001 From: Teakowa Date: Sun, 25 Oct 2026 07:42:29 +0800 Subject: [PATCH] fix(ci): send check-runs poll as GET and widen the release gate window gh api upgrades the request to POST whenever -f fields are present; the commits/check-runs endpoint has no POST route, so every poll returned 404 and the gate would have refused every release. Pass --method GET. Also raise the poll deadline to 90 minutes and the job timeout to 100: callers' full CI chains can exceed the previous 40-minute window on a fresh release revision. --- .github/workflows/release-plz-crates.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release-plz-crates.yml b/.github/workflows/release-plz-crates.yml index af63154..acad675 100644 --- a/.github/workflows/release-plz-crates.yml +++ b/.github/workflows/release-plz-crates.yml @@ -48,7 +48,7 @@ jobs: if: github.repository_owner == 'wrightkit' needs: package-preflight runs-on: ubuntu-latest - timeout-minutes: 45 + timeout-minutes: 100 permissions: checks: read steps: @@ -60,7 +60,7 @@ jobs: set -euo pipefail repo="${{ github.repository }}" sha="${{ github.sha }}" - deadline=$(( SECONDS + 2400 )) + deadline=$(( SECONDS + 5400 )) pending_file=$(mktemp) trap 'rm -f "$pending_file"' EXIT if [ "$REQUIRED_CHECK_RUNS" != "${REQUIRED_CHECK_RUNS//$'\n'/,}" ]; then @@ -90,7 +90,7 @@ jobs: keep="" while IFS= read -r name; do [ -z "$name" ] && continue - if ! out=$(gh api "repos/$repo/commits/$sha/check-runs" -f "check_name=$name" \ + if ! out=$(gh api --method GET "repos/$repo/commits/$sha/check-runs" -f "check_name=$name" \ --jq '(.check_runs | sort_by(.id) | last) // {status: "missing", conclusion: "", html_url: ""} | "\(.status) \(.conclusion // "-") \(.html_url // "-")"' 2>&1); then echo "check-runs API call failed for '$name': $out" >&2 exit 1