- Added steps to ensure PostgreSQL service is ready before running Alembic migrations, improving the reliability of the E2E testing process.
- Implemented error handling for PostgreSQL readiness and Alembic upgrade commands to provide better feedback during CI runs.
- Adjusted health check parameters in docker-compose.yml for backend services to enhance reliability during startup.
- Increased memory limits and reservations for backend services to accommodate higher resource demands.
- Updated service dependencies in docker-compose.yml to ensure proper startup order based on health status.
- Enhanced Jenkinsfile to include additional logging for backend and Celery services, aiding in troubleshooting during CI runs.
- Added .env.e2e.generated to .gitignore to prevent committing generated environment files.
- Updated docker-compose.yml to use environment variables for Keycloak ports, enhancing flexibility in CI environments.
- Enhanced Jenkinsfile to generate dynamic Keycloak ports for E2E testing and improved logging for troubleshooting during failures.
- Removed custom entrypoint scripts for backend, frontend, and PostgreSQL services from docker-compose files.
- Added a new entrypoint script in the backend and frontend Dockerfiles to handle initialization without relying on host-mounted scripts.
- Updated Dockerfiles to ensure proper permissions for the new entrypoint scripts.
- Enhanced database initialization logic by moving schema and extension creation to the Alembic migration script.
- Introduced a new function to log detailed error information when the Docker Compose stack fails to start, including logs from Postgres and Keycloak containers.
- Updated the Docker Compose command to call the logging function upon failure, improving troubleshooting capabilities during CI runs.
- Added a new 'E2E (docker compose + Playwright)' stage in the Jenkinsfile to run end-to-end tests using Docker Compose and Playwright.
- Updated the 'Test frontend' stage to utilize the Playwright test image and improved error handling for missing files.
- Modified Playwright configuration to use an environment variable for the base URL, enhancing flexibility in CI environments.
- Expanded TypeScript configuration to include additional test and configuration files for better type checking.
- Changed PostgreSQL data volume paths in docker-compose.yml to remove the trailing 'data' directory.
- Improved the 'Test frontend' stage in Jenkinsfile by adding cleanup steps and ensuring the workspace is correctly copied to the Docker container for testing.
- Introduced a new 'Test frontend' stage in the Jenkinsfile to run unit tests using Vitest in a Docker container.
- Updated Vite configuration to conditionally include client and server test projects based on the CI environment.
- Modified backend health check tests to skip execution in CI environments.
- Adjusted test for constructing backend asset URLs to reflect default behavior when no base URL is provided.