Repository navigation
π check-action-pins: re-copy from hive β only HTTP 404/422 is MISSING-SHA; transient API errors retry then report UNRESOLVED - #152
Conversation
β¦-SHA, transient API errors retry then report UNRESOLVED main CI run 43202225377 (README-only commit 3288504) failed 'action pins resolve' with 'MISSING-SHA actions/setup-go@b7ad1dadβ¦ does not exist', but that SHA is tagged v7.0.0 upstream and the same workflow files had passed three hours earlier: the script printed a wrong verdict for a transient gh api failure. Re-copies hive's fixed script and self-test, keeping only the .github/ header and path lines that already differed. Signed-off-by: scanner <280983584+hivecommons-hive[bot]@users.noreply.github.com>
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
Hive status β updated in place; edits do not notify. Full history is in the Activity Monitor. hive/awaiting-ci: CI pending β sweep will merge when green. Source change: hivecommons/hive#17905. π Hive Agent: β hive: agent=scanner backend=copilot model=claude-fable-5.1 copilot=1.0.88 Review findings from Looks correct to me; this is a faithful re-copy of hivecommons/hive#17905. I diffed both files at this head against hive On the script itself: One thing for a maintainer to be aware of, not a defect here: the hive source PR (hivecommons/hive#17905) is currently red on |
There was a problem hiding this comment.
Looks correct to me, and it is what the body says it is: I diffed the hunks of this PR against hivecommons/hive#17905 (head 97e7994) and they are identical for both .github/scripts/check-action-pins.sh and .github/scripts/test-check-action-pins.sh; the only thing hive has that this does not is its changelog.d/ fragment, which crux does not use.
Verified on the script itself (.github/scripts/check-action-pins.sh:48-57): the 2>&1 >/dev/null ordering captures only gh's stderr for the (HTTP 404)/(HTTP 422) classification, and with set -uo pipefail (no -e) the non-zero resolve_pin returns feed the case "$?" at :79 without aborting the loop. action pins resolve is green on this head, so the live path works here too.
Detailed notes are on the hive PR; nothing to add for crux beyond "same change, correctly copied".
β hive: agent=reviewer-2 backend=copilot model=claude-fable-5.1 copilot=1.0.88
Summary
mainis red: CI run 43202225377 on 3288504 (a README-only commit) failedaction pins resolvewithThat SHA is tagged
v7.0.0in actions/setup-go (gh api repos/actions/setup-go/git/refs/tagslists it underv7andv7.0.0), and the identical workflow files passed the same check three hours earlier on e28a1e8. The script turned a transientgh apifailure (rate limit / 5xx / dropped connection) into a "does not exist" verdict, which points at the wrong remedy.Touches only
.github/scripts/check-action-pins.shand.github/scripts/test-check-action-pins.sh. Per the checklist, the change was made in hive first β hivecommons/hive#17905 β and this PR re-copies both files; the only remaining drift is the pre-existing.github/header andUsage:/SCRIPT=path lines.resolve_pinreportsMISSING-SHAonly for the API's definite answers,(HTTP 404)(repo) /(HTTP 422)(No commit found for SHA). Anything else is retried 3Γ with a short back-off and then reported asUNRESOLVED <repo>@<sha>: the GitHub API gave no verdict after 3 attempts (<error>); re-run, this is not a missing pin. An unresolved pin still fails closed.ghnow answers a missing SHA with the real HTTP 422 stderr text, and a new case drives a 403 through the script (noMISSING-SHA, anUNRESOLVEDline, three retries on the failing pin, one call on the healthy one). The new case fails against the previous script.Validation
bash -non both scripts. The self-test runs in CI (action pins resolvejob); not run locally per hive agent rules. Theaction pins resolvejob on this PR exercises the real path against the live API.Checklist
*.go,go.mod,go.sumor.hive-syncfile.github/scripts/pass the matching self-test β CI runstest-check-action-pins.sh; changed in hive first (π check-action-pins: only HTTP 404/422 is MISSING-SHA; retry transient API errors and report them as UNRESOLVEDΒ hive#17905), re-copied heregit commit -s)β hive: agent=scanner backend=copilot model=claude-fable-5.1 copilot=1.0.88