- Updated the Alembic upgrade command to use a Python script for execution, addressing issues with configuration handling in Docker.
- Enhanced comments to clarify the purpose of the changes and their implications for E2E testing.
- Updated the Alembic upgrade command to use the direct binary path instead of Python, addressing issues with command parsing in Docker.
- Enhanced comments to clarify the reasoning behind the changes and their implications for E2E testing.
- Updated the Alembic upgrade command to use the `--config` option instead of `-c`, addressing ambiguity in configuration handling.
- Revised comments to enhance understanding of the command's context and implications during E2E testing.
- Updated the Alembic upgrade command in the Jenkinsfile to directly use Python for execution, eliminating reliance on a separate shell script that caused issues with command parsing.
- Revised comments to clarify the changes and their implications for the command context during E2E testing.
- Deleted the now-unnecessary jenkins-alembic-e2e.sh script to streamline the process.
- Updated the Alembic upgrade command to execute a script instead of using a variable, addressing issues with command execution in the Docker environment.
- Revised comments to clarify the changes and their implications for the command context during E2E testing.
- Changed the Alembic upgrade command to use a variable for the command string, preventing issues with inline double quotes in the shell execution.
- Updated comments to clarify the changes made and their impact on the command execution context within the Docker environment.
- Updated the Alembic upgrade command in the Jenkinsfile to specify the entrypoint correctly, ensuring the command executes in the intended context.
- Added a comment to clarify the change regarding the entrypoint behavior in the Docker environment, enhancing maintainability and understanding of the script.
- Introduced a new function to forcefully remove stale containers that may conflict with the current E2E testing setup, improving reliability and preventing errors related to container name conflicts.
- Updated the compose_down function to call the new cleanup function, ensuring a clean environment before running tests.
- 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.