Repository navigation
GH#34762: fix(release): discard failed signing-key API output - #34763
Conversation
|
Important Review skippedAuto reviews are limited based on label configuration. 🏷️ Required labels (at least one): 1🚫 Excluded labels (none allowed): 1
Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Up to standards ✅🟢 Issues
|
Shell Function Complexity Regression Gate✅ No regression — no new function(s) >100 lines.
|
Bash 3.2 Compatibility Regression Gate✅ No regression — no new bash 3.2-incompatible construct(s).
|
Qlty Smell Regression Gate✅ No change — smell count unchanged.
|
Verification checkpoint — blocked on runner capability
aidevops.sh v3.39.31 plugin for OpenCode v1.19.0 with gpt-6.1-sol spent 5m and 78,571 tokens on this as a headless worker. |
🔍 Code Quality Report�[0;35m[MONITOR]�[0m Code Review Monitoring Report SonarCloud: 0 bugs, 0 vulnerabilities, 1 code smells Thu Oct 15 04:38:15 UTC 2026: Code review monitoring started 📈 Current Quality Metrics
Generated on: Thu Oct 15 04:40:53 UTC 2026 Generated by AI DevOps Framework Code Review Monitoring |
Shell Nesting Depth Regression Gate✅ No regression — no new file(s) with nesting depth >8.
|
File Size Regression Gate✅ No regression — no new non-README Markdown file(s) >1000 lines at root / >500 elsewhere.
|
alex-solovyev
left a comment
There was a problem hiding this comment.
Auto-approved by pulse runner @alex-solovyev — author @vladimirdulov confirmed collaborator, pre-merge gates passed.
alex-solovyev
left a comment
There was a problem hiding this comment.
Auto-approved by pulse runner @alex-solovyev — author @vladimirdulov confirmed collaborator, pre-merge gates passed.
aidevops.sh v3.39.32 automated scan.
🔍 Code Quality Report�[0;35m[MONITOR]�[0m Code Review Monitoring Report SonarCloud: 0 bugs, 0 vulnerabilities, 1 code smells Thu Oct 15 17:39:59 UTC 2026: Code review monitoring started 📈 Current Quality Metrics
Generated on: Thu Oct 15 17:42:29 UTC 2026 Generated by AI DevOps Framework Code Review Monitoring |
Summary
Resolves #34762.
_release_signing_registered_keys(.agents/scripts/release-signing-helper.sh) now captures the privateuser/<kind>response and prints it only on success. A failed request can no longer leak its error body into the stdout consumed by the signing-key jq filters..agents/scripts/tests/test-release-signing-preflight.shstubs the failing private endpoint with the realghshape (slurped error body plus exit 1). It then asserts that the successful SSH and GPG public fallbacks print nothing to stderr.Root cause (verified)
full-loop-release-helper.sh:777,version-manager.sh:620,version-manager-release.sh:357.aidevops release statusdoes not call the preflight, which explains why it stayed quiet.admin:ssh_signing_keyscope, the real binary (/opt/homebrew/bin/gh2.102.0) handlesgh api --paginate --slurp user/ssh_signing_keyslike this:[{"message":"Not Found",...,"status":"404"}]to stdout.if gh api ...; thenlet that stdout through, and the public fallback pages were appended after it.jq -er '.[][] | .key'then printedCannot index string with string ("key")at<stdin>:1. jq 1.8.2 still exits 0 because the later input succeeds, so the release continued as reported.ghshim swallows that stdout. That is why the error appears in terminalaidevops releaseruns but not under the agent shim.Verification (exact head
22447c5535)bash .agents/scripts/tests/test-release-signing-preflight.sh: 4/4 PASS. With the pre-fix helper restored, it fails withFAIL successful public SSH fallback emitted diagnostics, so the regression detects the bug.shellcheckon both changed scripts: clean.test-version-manager-*.sh+test-full-loop-release-*.sh: 23/24 pass.test-version-manager-aggregate-recovery.shfails identically withorigin/main's helper. That suite setsGIT_CONFIG_GLOBAL=/dev/nulland does not stub the GH#34664 preflight, so it stops at "configure an explicit user.signingkey" before the changed function is reached. This is pre-existing and unrelated, and is tracked as a follow-up.Runtime Testing
runtime-verified: ranrelease_signing_preflightagainst the live GitHub API with the real SSH signing key (private endpoint 404 → public fallback). It matched the registered key with clean stderr. No release was published.aidevops.sh v3.39.32 plugin for OpenCode v1.19.0 with claude-opus-5-5 spent 8m and 11,109 tokens on this with the user in an interactive session.