ci(swift-sdk): authenticate setup-protoc against the anonymous rate limit - #4517
Conversation
…face `DocumentPropertyReferenceTarget::PermanentDocument` gained a third field, `property_agreement`, in #4505. The wasm reference serializer added in #4450 destructures the variant exhaustively and was written against a base that predated that field, so the two merged clean as text and left `wasm-dpp2` uncompilable (E0027) on v4.2-dev. Surface the field as `propertyAgreement` rather than ignoring it with `..`: the module's documented contract is that its keys line up with what `contract.toJSON()` shows under `refersTo`, and dropping one would break that. Emitted only when non-empty, mirroring the keyword's own `skip_serializing_if`. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…imit The macOS release runners share an egress IP and burn through the 60 req/h anonymous GitHub API limit, so resolving the protoc release fails with "API rate limit exceeded" and takes the DashSDKFFI build down with it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Warning Review limit reachedNext included review available in 11 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
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 |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## v4.2-dev #4517 +/- ##
============================================
+ Coverage 82.23% 83.00% +0.77%
============================================
Files 2746 2778 +32
Lines 372433 375657 +3224
============================================
+ Hits 306254 311805 +5551
+ Misses 66179 63852 -2327
🚀 New features to boost your workflow:
|
|
✅ Final review complete — no blockers (commit a6294d0) |
…perty-agreement # Conflicts: # packages/wasm-dpp2/src/data_contract/document_type_reference.rs # packages/wasm-dpp2/tests/unit/DocumentPropertyReference.spec.ts
thepastaclaw
left a comment
There was a problem hiding this comment.
Final validation — Codex/Sol only (Phase 2 disabled)
At exact head a6294d0, the PR adds the supported repo-token input to the sole arduino/setup-protoc@v3 invocation, and the job grants sufficient repository permissions for that token. The workflow YAML parses successfully, the change directly addresses unauthenticated GitHub API rate limiting, and no in-scope correctness or security defects were found.
Source: codex-general and codex-security-auditor reviewer backends (exact model IDs were not included in the supplied evidence); final verifier backend: Anthropic Claude Agent SDK (exact model ID was not exposed); orchestration-only and not reviewer evidence: openclaw-agent/cliproxy/gpt-5.6-sol.
Validated zero-blocker Codex/Sol precheck evidence was promoted to final because Phase 2 (Sonnet/Opus) is temporarily disabled. This is Codex/Sol-only final validation, not Codex + Sonnet/Opus coverage.
Review provenance
- Codex reviewers:
gpt-5.6-sol— general (completed),gpt-5.6-sol— security-auditor (completed) - Verifier:
gpt-5.6-sol— verifier - Sonnet/Opus: not run (Phase 2 disabled — temporary Codex/Sol-only final)
- Secondary pass: disabled (
temporary_phase2_sonnet_disable)
Issue being fixed or feature implemented
Release Swift SDK FFI / Build and release DashSDKFFIfails on the release workflow:arduino/setup-protoc@v3inrelease-swift-sdk.ymlis called withoutrepo-token, so it resolves the protoc release through the GitHub API unauthenticated. The macOS release runners share an egress IP and burn through the 60 req/h anonymous limit, which takes the wholeDashSDKFFIbuild down with it.This is environmental rather than a code defect — but it is not flake that will clear on its own, and it recurs on every release until the token is passed. It is the only
setup-protoccall site in.github/lacking one.What was done?
Pass
repo-token: ${{ secrets.GITHUB_TOKEN }}to the action, which raises it to the authenticated limit.How Has This Been Tested?
The workflow YAML parses and the input resolves onto the right step. The failure mode itself only reproduces on a rate-limited shared runner IP, so the real proof is the next release run — or a
release-swift-sdk.ymldispatch at a tag, whichever comes first.The rest of the branch is verified by the base branch's own CI: after merging base, the net diff against
v4.2-devis these 4 lines alone.cargo check -p dpp --all-targetspasses locally on the merge result.Breaking Changes
None. CI-only.
Notes for reviewers
v4.2.0-dev.3is tagged and published, and the Drive, Drive-debug and RS-DAPI images already published under that tag — re-cutting it would leave inconsistent artifacts under one version, so the plan is to fix forward todev.4.Worth separate attention: #4450 broke
v4.2-devby merging green-but-stale (its CI ran against a base two days old, predating #4505's new field), and it is the second PR to do so — the first was #4401 →RankedEntry.in_keyE0063on Aug 27. Requiring branches to be up to date before merge would catch the class. Note also thatwasm-dpp2/wasm-sdkonly compile forwasm32-unknown-unknown, socargo check --workspaceon the host cannot see those breaks at all.Checklist
For repository code-owners and collaborators only