Skip to content

Add CI-ready tx-path integration suite and CI/Makefile wiring#62

Merged
BioMark3r merged 1 commit intomainfrom
codex/add-tx-path-integration-test-suite
Mar 4, 2026
Merged

Add CI-ready tx-path integration suite and CI/Makefile wiring#62
BioMark3r merged 1 commit intomainfrom
codex/add-tx-path-integration-test-suite

Conversation

@BioMark3r
Copy link
Copy Markdown
Owner

Motivation

  • Provide an end-to-end, CI-capable tx-path integration that verifies basic transaction flows (send wei, deploy contract, submit raw signed tx) and exercises the new UI token gate (X-TX-TOKEN) when available.
  • Keep tests self-contained for CI: avoid external services, implement retries/timeouts to reduce flakiness, and allow clean skipping when required secrets or optional components are not present.

Description

  • Add scripts/tests/tx_integration.sh, a strict-mode bash script that boots or reuses a devnet, waits for RPC readiness, discovers chain id, resolves a sender key (SENDER_PRIVATE_KEYFAUCET_PRIVATE_KEY → dev-only .data discovery), and runs three tx checks (send 1 wei to burn address, deploy minimal test contract, submit explicit raw signed tx) with receipt polling and assertion logic.
  • Implement reusable helpers in the script: rpc_call, rpc_get_result, wait_for_receipt, get_nonce, get_gas_price, estimate_gas, local signing via a temporary Node+ethers workspace, and UI vs raw-RPC mode selection with clear failure when TX_HTTP_URL is set but TX_TOKEN is missing.
  • Wire into build and CI: add test-tx and test-all Makefile targets and make make test optionally include tx tests when CI_TX=1, and update scripts/ci/run.sh to run the tx suite when CI_TX=1.
  • Update GitHub Actions CI job to set CI_TX=1 and expose optional secrets placeholders (SENDER_PRIVATE_KEY, FAUCET_PRIVATE_KEY, TX_HTTP_URL, TX_TOKEN) without hardcoding values, and document usage and skip/fail behavior in README.md.

Testing

  • bash -n scripts/tests/tx_integration.sh (syntax check) succeeded.
  • make test-tx was exercised in this environment but failed during the repo build step due to inability to fetch/build polygon-edge (external GitHub clone failed with CONNECT tunnel failed, response 403), which is an external network issue unrelated to the new tx test logic.
  • The new script contains timeouts, retries, and receipt-waiting logic and was exercised up to devnet build invocation during local validation; when run in a CI environment with network access and provided key secrets the suite is expected to perform all three tx checks end-to-end.

Codex Task

@BioMark3r BioMark3r merged commit 6bb72bf into main Mar 4, 2026
0 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant