Skip to content

ci: split live creation-tx API tests into their own CI job - #2947

Open
marcocastignoli wants to merge 2 commits into
stagingfrom
test/split-creation-tx-api-tests
Open

ci: split live creation-tx API tests into their own CI job#2947
marcocastignoli wants to merge 2 commits into
stagingfrom
test/split-creation-tx-api-tests

Conversation

@marcocastignoli

Copy link
Copy Markdown
Member

Summary

  • Move the getCreatorTx tests that call live third-party APIs (Blockscout, Routescan, Etherscan, Avalanche, VeChain, NodeReal, Nexus) from test/unit/ into services/server/test/creation-tx-apis/, outside the test-server globs.
  • Add a test:creation-tx-apis npm script and a new CircleCI job test-creation-tx-apis in both workflows. No other job requires it.
  • The mocked tests (Etherscan API key handling, binary search) stay in the unit suite.

Why

test-server has failed on every CI run since Aug 25 because NodeReal's nr_getContractCreationTransaction stopped returning the creation tx (the CI key gets a response with no result.hash; production BSC currently falls back to Etherscan). Any of the live providers in that loop can take CI hostage the same way — there's precedent in the file (chain 51 test commented out, live binary-search test skipped).

CircleCI reports one GitHub status per job, and staging has no required status checks, so after this change a provider outage shows up as a red ci/circleci: test-creation-tx-apis line on PRs while test-server stays green and meaningful. The live coverage still runs on every PR, so "the external service is really failing" remains visible.

Notes

  • test-creation-tx-apis will be red from day one: the NodeReal integration is genuinely broken. Someone with access to the NodeReal dashboard should check the key/plan.
  • Etherscan and VeChain tests keep their existing skip on external PRs (CIRCLE_PR_REPONAME), and NodeReal keeps its skip when NODEREAL_API_KEY is unset.

🤖 Generated with Claude Code

The getCreatorTx tests against live third-party APIs (Blockscout,
Routescan, Etherscan, NodeReal, VeChain, Nexus) fail test-server
whenever a provider degrades — NodeReal has been red on every run since
Aug 25. Move them to test/creation-tx-apis/ and run them in a separate
test-creation-tx-apis job that no other job requires, so a provider
outage shows as its own GitHub status while test-server stays green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@marcocastignoli
marcocastignoli marked this pull request as ready for review August 27, 2026 09:18
@marcocastignoli marcocastignoli moved this from Triage to Sprint - Needs Review in Sourcify Public Aug 27, 2026
@kuzdogan

Copy link
Copy Markdown
Member

The commented-out chain 51 (XDC Apothem) test can be removed entirely instead of carried over. https://apothem.xdcscan.io/ is down (HTTP 521), and the chain already has an Etherscan instance that returns the creation tx. We are dropping the blocksScanApi override in sourcifyeth/sourcify-chains#129 and the blocksScanApi code path in #2948, so there is nothing left for that test to cover.

Posted with Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Sprint - Needs Review

Development

Successfully merging this pull request may close these issues.

2 participants