feat: unified Docker test infrastructure#42
Merged
Conversation
- Add council-platform as section 8/11 (port 3015, own DB, SQL migration) - Add Jaeger as section 2/11 (all-in-one container, ports 4317/4318/16686) - Docker Desktop socket detection for macOS - Stable SERVICE_AUTH_SECRET for council-platform - MODE=development for council-console server (CSP localhost access) - OTEL env vars for council-platform tracing - Friendbot timeout increased to 90s for first boot - Section numbering updated to 11 sections - down.sh: Jaeger teardown, council-platform cleanup
Runs all council-platform migration files (not just 0000_init). Runs provider-platform council_memberships migration. Adds stellarNetwork: "standalone" to provider-console runtime config.
Simulates the full PP-joins-council flow: provider auth, council discovery, join request, admin approval, wallet-signed config push, membership activation. 15 checks across both platforms.
Consolidate all test suites (e2e, lifecycle, governance, otel) under docker-compose.test.yml with test.sh runner. Per-suite trace persistence with Jaeger badger storage. Conditional setup based on TEST_SUITE. Remove old e2e Docker setup and manual-user-e2e. Update up.sh to remove callback-related env vars and add SERVICE_AUTH_SECRET. Exclude .data and .env from container copies.
Update test setup encryptor to match new salt-per-encryption format. Scope down.sh stellar grep to moonlight containers. Check PP register response. Use env vars in deno eval instead of interpolation. Remove dead waitForDb. Fix step comment. Touch .env before append.
Replace old e2e/docker-compose.yml reference with test.sh e2e. Set WASM_DIR to point at the downloaded WASMs directory.
project_name must not be local so the EXIT trap can access it after run_suite returns. chmod 777 on traces directory so Jaeger (non-root) can write badger storage in CI environments.
Same change as the standalone e2e.yml — the old e2e/docker-compose.yml was removed in favour of the root docker-compose.test.yml via test.sh.
test.sh mounts local source directories which don't exist in CI. Restore e2e/docker-compose.yml, setup.sh, and provider-entrypoint.sh for CI workflows (these use published Docker images). Keep test.sh for local development.
Update e2e/setup.sh to write E2E_ prefixed keys in contracts.env matching what e2e/config.ts expects. Add SERVICE_AUTH_SECRET to provider.env for encryption support.
This was referenced Apr 7, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Review fixes applied
Test plan