Skip to content

Add isolated parallel database environments#69

Draft
AGiorgetti wants to merge 26 commits into
developfrom
agent/parallel-database-environments
Draft

Add isolated parallel database environments#69
AGiorgetti wants to merge 26 commits into
developfrom
agent/parallel-database-environments

Conversation

@AGiorgetti

@AGiorgetti AGiorgetti commented Jul 11, 2026

Copy link
Copy Markdown
Member

What changed

  • replaced the legacy platform-specific Docker Compose setup with Linux-container-only base, dynamic, debug, test, and CI Compose files
  • added cross-platform start-environment and stop-environment scripts
  • derived isolated Compose project names from normalized worktree or explicit environment names
  • added dynamic host port allocation for parallel worktrees and fixed debug/test/CI port presets
  • preserved data by default and added --remove-data cleanup
  • generated ignored .env files containing the resolved connection strings
  • updated the shared test connection factory to load the nearest repository .env file while preserving process environment variable precedence
  • updated GitHub Actions to start the same database stack through start-environment.sh ci and clean it up through stop-environment.sh ci --remove-data
  • updated VS Code tasks and documentation

Fixed ports

Database Debug Test CI
SQL Server 50001 51001 52001
MySQL 50003 51003 52003
PostgreSQL 50004 51004 52004
Oracle 50005 51005 52005

Why

Multiple Git worktrees and autonomous agents need to run complete SQL persistence database stacks in parallel without container, port, network, or volume collisions. Fixed debug and test environments remain available for predictable human workflows, while GitHub Actions uses the reserved CI environment instead of maintaining duplicate service definitions.

Validation

  • reviewed the complete branch diff against develop
  • verified all Compose services use Linux images and project-scoped resources
  • verified the .env loader is shared by all database-specific test projects through NEventStore.Persistence.Sql.Tests
  • verified the CI workflow starts and stops the reserved ci environment for every modern TFM job
  • full Docker and .NET execution is delegated to GitHub Actions

Review notes

The branch intentionally removes the obsolete Windows-container Compose file and legacy DockerComposeUp.ps1 / DockerComposeDown.ps1 scripts. Generated .env files are local-only and excluded from Git.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant