Repository navigation
sdk: read the compat tests' Solana RPC from a CI secret - #4478
bgm-malbeclabs wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
🟢 Approval recommended
No active review issues were identified for the SDK compatibility-test RPC configuration changes.
No open issues 🎉
What changed in this PR
This PR configures SDK compatibility tests to use a secret-backed Solana RPC endpoint in CI, while keeping DoubleZero ledger requests separate.
Changes:
- The CI job supplies
SOLANA_RPC_URLfrom a repository secret and skips fork and Dependabot pull requests. - The Go revenue distribution tests gain the override, and the Python tests use the public fallback for empty values.
- The serviceability tests use
LEDGER_RPC_URLso the Solana override cannot redirect their ledger requests.
The repository secret still needs configuration before CI can use the replacement endpoint.
| File | Description |
|---|---|
sdk/serviceability/typescript/serviceability/tests/compat.test.ts |
Renames the ledger override to LEDGER_RPC_URL. |
sdk/serviceability/python/serviceability/tests/test_compat.py |
Renames the ledger override and handles empty values. |
sdk/revdist/python/revdist/tests/test_compat.py |
Uses the public Solana endpoint when the override is empty. |
sdk/revdist/go/compat_test.go |
Applies the Solana override to both compatibility client helpers. |
CHANGELOG.md |
Documents the separate Solana and ledger overrides. |
.github/workflows/sdk.yml |
Supplies the RPC secret and skips PRs without secret access. |
Review effort: Balanced
nikw9944
left a comment
There was a problem hiding this comment.
Every compat test that reads Solana now takes SOLANA_RPC_URL and falls back to the public endpoint when the value is empty (Go compatSolanaRPCURL, Python or, TypeScript ||). After the LEDGER_RPC_URL rename, no serviceability compat test reads SOLANA_RPC_URL, so the job-wide secret cannot send ledger reads to Solana. The job condition matches the fork and Dependabot gates in e2e.yml.
Summary of Changes
sdk-compat-testjob now reads the Solana mainnet RPC from theSOLANA_RPC_URLrepository secret, becauseapi.mainnet-beta.solana.comanswers GitHub runners with403 "Your IP or provider is blocked from this endpoint".mainand on PRs. The Go revdist test fails first, so the Python and TypeScript compat tests behind it have not run since then.SOLANA_RPC_URLas an override and falls back to the public endpoint when it is unset or empty. The Go revdist test gains the override, and the Python revdist test now treats an empty value as unset.SOLANA_RPC_URLtoLEDGER_RPC_URL. Without the rename, the new secret would send their ledger reads to Solana.Testing Verification
SOLANA_RPC_URLunset. Minutes later the same endpoint answered that workstation with 403 as well, so the public endpoint is not reliable outside CI either.maintoday.