Commit Graph

2396 Commits

Author SHA1 Message Date
etimofeeva
29e5783387 ci: skip BSC in CI — quicknode endpoint returning 401 2026-02-09 14:19:49 +01:00
etimofeeva
f6aca854df ci: remove ethereum from CI — no public RPC URL available
The BB_RPC_URL_HTTP_ethereum GitHub variable still pointed to an
internal sldev.cz backend. Removed ethereum from CI env blocks and
EVM_COINS filter until a public endpoint is configured.

Remaining CI-tested chains: avalanche, bsc, arbitrum, base, optimism, polygon.
2026-02-09 14:13:06 +01:00
etimofeeva
c0aec22bfc ci: always filter to EVM-only coins in CI connectivity/integration tests
The Go test framework runs ALL coins listed in tests.json with
'connectivity' enabled, falling back to default config URLs when
env vars are absent. This exposed internal infrastructure (127.0.0.1
defaults and sldev.cz URLs) in CI logs.

Now both connectivity-tests and integration-tests always apply an
EVM-only coin filter (avalanche|bsc|arbitrum|base|ethereum|optimism|polygon)
unless a manual workflow_dispatch provides a custom coin_filter.

UTXO chains remain fully testable on the dev server.
2026-02-09 13:38:07 +01:00
etimofeeva
dba6a6572e ci: remove UTXO chains from CI env — only test EVM via public endpoints
UTXO chains (bitcoin, bcash, dogecoin, litecoin, zcash) use internal
backends unreachable from GitHub-hosted runners. Removed them from
the CI env blocks so connectivity and integration tests only run
against publicly reachable EVM endpoints (quicknode).

UTXO chains are still fully tested on the dev server where internal
backends are accessible.
2026-02-09 13:04:10 +01:00
etimofeeva
d86786f96a feat: add workflow_dispatch with coin filter + integration tests job
- Add workflow_dispatch trigger with inputs: coin_filter, run_unit_tests,
  run_connectivity_tests, run_integration_tests
- coin_filter accepts regex (e.g. 'bitcoin', 'ethereum', 'bitcoin|ethereum|bsc')
- Integration tests (rpc + sync) are manual-only (default off) since they
  are heavy and require live backends
- Connectivity tests run automatically on push/PR, or manually with filter
- Unit tests can be skipped in manual runs to speed up targeted testing
2026-02-09 12:13:16 +01:00
etimofeeva
b7d2415622 feat: added connectivity tests to CI using Go test framework
Replace bash/curl connectivity tests with the Go-based connectivity
test suite from the integration test framework. The CI now uses
'make test-connectivity' which runs TestIntegration/.*/connectivity
via go test, matching the same pattern as unit and integration tests.

Backend URLs are read from GitHub Actions variables (BB_RPC_URL_HTTP_*,
BB_RPC_URL_WS_*) and forwarded into Docker by the Makefile's BB_RPC_ENV.
2026-02-09 11:35:38 +01:00
etimofeeva
a6e3a715b4 fix: corrected rocks db version 2026-02-09 11:34:25 +01:00
etimofeeva
8b66d10678 fix: added missing dependencies 2026-02-09 11:34:25 +01:00
etimofeeva
63410e0e16 Add GitHub Actions CI workflow for unit tests 2026-02-09 11:34:25 +01:00
pragmaxim
2824b9924e fix: closing Rocksdb on shutdown signal 2026-01-26 09:01:25 +01:00
pragmaxim
75ca6e1e85 fix: avoid Base newHeads bursts 2026-01-26 07:03:32 +01:00
pragmaxim
0a49807cbf improving mempool syncing periodic logging with metrics 2026-01-25 11:33:38 +01:00
pragmaxim
9b6f4e9ea6 utxo reorg detection fix 2026-01-25 11:12:10 +01:00
pragmaxim
2390ddaf67 fix: GetBlock unmarshals the same raw JSON twice
There are 2 json.Unmarshal(raw) of the whole block to get header and transactions which is very inefficient, it can be done in one pass

Closes: #1384
2026-01-25 10:46:15 +01:00
pragmaxim
970581b111 log resync outpoint cache hit/miss rate 2026-01-25 10:13:49 +01:00
pragmaxim
734c9223ba avoid batch mempool resync besides bitcoin as those pools are small + improving tests 2026-01-25 09:15:04 +01:00
pragmaxim
cc72eb75c5 mempool_resync_batch_size should be 100 2026-01-24 14:02:05 +01:00
pragmaxim
90f2645a91 Resync mempool using batch api with temporary outpoint cache 2026-01-24 13:19:42 +01:00
pragmaxim
76739960e2 integration tests: fixing bitcoin and zcash issues : racing, missing output, invalid vout index and block-not-found 2026-01-23 12:00:38 +01:00
pragmaxim
de9c4aa964 integration tests: run only those with connectivity 2026-01-23 09:44:22 +01:00
pragmaxim
3bcbe4403c BB_RPC_URL_* -> BB_RPC_URL_HTTP_* 2026-01-23 08:53:26 +01:00
pragmaxim
d1c652dcf7 integration tests : lazy initialization of mempool 2026-01-23 08:14:08 +01:00
pragmaxim
052a30bb4b erc20 eth_call batching cleanup 2026-01-23 07:45:58 +01:00
pragmaxim
3d25282996 integration tests connectivity target 2026-01-22 11:10:30 +01:00
pragmaxim
a2274c9bbf integration tests connectivity suite 2026-01-22 11:04:15 +01:00
pragmaxim
8542377fa3 eth_call batch integration tests 2026-01-22 10:12:28 +01:00
pragmaxim
8918eec72a arbitrum,optimism,base,polygon fixtures 2026-01-22 10:01:17 +01:00
pragmaxim
7014e78a1c default geth --rpc.batch.limit is 100 2026-01-22 07:38:37 +01:00
pragmaxim
38cf8c2dc6 porting older integration tests to new dual (ws/http) rpc_client 2026-01-22 07:38:37 +01:00
pragmaxim
e8558f110b erc20 batching : let's warn in case of invalid balance results 2026-01-22 07:38:36 +01:00
pragmaxim
5a45460ea3 using config loader in contract batch integration tests 2026-01-22 07:38:36 +01:00
pragmaxim
e94af5cf50 eth_call batch it tests cleanup 2026-01-22 07:38:36 +01:00
pragmaxim
660685ea98 eth_call batch it tests, use chain address from conf 2026-01-22 07:38:35 +01:00
pragmaxim
c07c869a8a eth_call batch integration tests for avax,op,base,bsc 2026-01-22 07:38:35 +01:00
pragmaxim
3868aa8b65 limit eth_call batch size 2026-01-22 07:38:34 +01:00
pragmaxim
ca36f51ef1 improvement: replace eth_call per erc20 contract with multicall
Closes: #1387
2026-01-22 07:38:29 +01:00
pragmaxim
88edd9b386 using standard blockbook rpc tests with ethereum fixture 2026-01-21 14:25:36 +01:00
pragmaxim
54799b6019 porting older integration tests to new dual (ws/http) rpc_client 2026-01-21 13:52:25 +01:00
pragmaxim
be3076efd6 using config loader in ethrpc integration tests 2026-01-21 13:52:25 +01:00
pragmaxim
483595b188 fix: commented out code references non-existing variable 2026-01-21 13:52:25 +01:00
pragmaxim
962b5c2e05 improvement: parallel internal data fetching in GetBlock
rpc fetching in sequential loop tends to be a bottleneck, so processEventsForBlock and getInternalDataForBlock now run concurrently

Closes: #1381
2026-01-21 13:52:24 +01:00
pragmaxim
c635311899 evm chains http/ws connectivity integration tests 2026-01-21 13:50:20 +01:00
pragmaxim
447f859ead dual (ws/http) rpc_client support 2026-01-21 08:28:56 +01:00
pragmaxim
b0bb6226e9 blockchaincfg.json loader 2026-01-16 05:49:27 +01:00
pragmaxim
bdc1fc4fff fix: commit 0790f881 broke test compilation 2026-01-16 05:48:34 +01:00
pragmaxim
a85a3432a7 readme: update rocksdb build flags 2026-01-16 05:45:37 +01:00
pragmaxim
06304902d9 config cleanup 2026-01-16 05:45:10 +01:00
pragmaxim
82a0827009 error on RPC env var for non-existing coin to prevent misconfig 2026-01-15 12:44:06 +01:00
pragmaxim
cf2fb62447 feature: using backend env vars for builds and integration tests
Closes #1391
2026-01-15 12:12:12 +01:00
etimofeeva
d76f7c5137 fix: adjusted zebrarpc for new version of zebrad backend 2026-01-06 18:45:41 +01:00