Skip to content

feat: expose pg-pool metrics, add indexer-state race guard, add admin rate limiter #785

feat: expose pg-pool metrics, add indexer-state race guard, add admin rate limiter

feat: expose pg-pool metrics, add indexer-state race guard, add admin rate limiter #785

Triggered via pull request July 29, 2026 14:14
Status Failure
Total duration 1m 30s
Artifacts

pr-test-gate.yml

on: pull_request
Contracts cargo test
1m 16s
Contracts cargo test
Backend npm test
1m 27s
Backend npm test
Fit to window
Zoom out
Zoom in

Annotations

6 errors and 2 warnings
Backend npm test
Process completed with exit code 1.
tests/integration/stream-lifecycle.test.ts > Stream Lifecycle Integration Tests > Full lifecycle: create → top up → partial withdraw → cancel > walks a single stream through every phase and verifies indexer state: backend/src/workers/soroban-event-worker.ts#L36
TypeError: i128 not set ❯ ChildUnion.get ../node_modules/@stellar/js-xdr/lib/webpack:/XDR/src/union.js:27:13 ❯ ChildUnion.get [as i128] ../node_modules/@stellar/js-xdr/lib/webpack:/XDR/src/union.js:171:25 ❯ decodeI128 src/workers/soroban-event-worker.ts:36:21 ❯ SorobanEventWorker.handleStreamCreated src/workers/soroban-event-worker.ts:459:27 ❯ SorobanEventWorker.processEvent src/workers/soroban-event-worker.ts:297:20 ❯ tests/integration/stream-lifecycle.test.ts:635:20
tests/integration/admin-metrics.test.ts > GET /v1/admin/metrics > caches the response for 60 seconds: backend/tests/integration/admin-metrics.test.ts#L167
AssertionError: expected 500 to be 200 // Object.is equality - Expected + Received - 200 + 500 ❯ tests/integration/admin-metrics.test.ts:167:26
tests/integration/admin-metrics.test.ts > GET /v1/admin/metrics > preserves precision for very large i128 withdrawn sums: backend/tests/integration/admin-metrics.test.ts#L159
AssertionError: expected 500 to be 200 // Object.is equality - Expected + Received - 200 + 500 ❯ tests/integration/admin-metrics.test.ts:159:24
tests/integration/admin-metrics.test.ts > GET /v1/admin/metrics > returns the snake_case summary required by the public contract: backend/tests/integration/admin-metrics.test.ts#L137
AssertionError: expected 500 to be 200 // Object.is equality - Expected + Received - 200 + 500 ❯ tests/integration/admin-metrics.test.ts:137:24
tests/indexer-state.test.ts: backend/src/lib/indexer-state.ts#L1
Error: [vitest] There was an error when mocking a module. If you are using "vi.mock" factory, make sure there are no top level variables inside, since this call is hoisted to top of the file. Read more: https://vitest.dev/api/vi.html#vi-mock ❯ src/lib/indexer-state.ts:1:1 Caused by: Caused by: ReferenceError: Cannot access 'mockFindUnique' before initialization ❯ tests/indexer-state.test.ts:9:19 ❯ src/lib/indexer-state.ts:1:1
Contracts cargo test
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Backend npm test
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/