Merged
Conversation
- Create base resolver classes to reduce code duplication - Refactor property processing into PropertyService - Generalize subscription patterns with base classes - Add comprehensive unit and integration tests - Enhance E2E tests with more scenarios - Create GitHub Actions workflow for CI/CD - Fix npm lock file issues for E2E tests - Add documentation for testing and local GitHub Actions execution - Remove all comments from code - Fix all linting errors and warnings
- Separate linting jobs (backend-lint, simulator-lint, frontend-lint) - Backend tests depend on backend-lint - Frontend tests depend on frontend-lint - E2E tests depend on backend-tests and frontend-tests - Build job depends on all tests and simulator-lint passing - Build only runs after all checks pass
- Remove all trailing blank lines (W391) - Fix whitespace issues (W293) - Fix global jwks_cache warning (F824) - Add pytest-cov to requirements.txt - Remove redundant pytest-cov installation step from workflow - Add CI/CD badges to README
- Add database migration step before starting servers - Start backend server with uvicorn in background - Build and start frontend server in background - Add proper wait steps for both services - Disable Playwright webServer in CI (servers started manually) - Fix curl commands to properly check GraphQL endpoint - Add all required environment variables for backend startup
- Use nohup to keep servers running in background - Store process IDs for potential cleanup - Improve health check with better error messages - Add server log upload on failure for debugging - Increase timeout and add retry logic
- Add /health endpoint to backend for easier health checks - Update workflow to use /health endpoint instead of GraphQL - Improves reliability of server startup detection
- Add pytest-asyncio default fixture loop scope configuration - Extract implementation methods from Strawberry fields for testability - Fix Task creation test to include required patient_id - Tests now call implementation methods directly instead of Strawberry fields
- Add missing birthdate field to CreatePatientInput in integration test - Improve backend server startup wait logic with better debugging - All 12 integration tests now passing
- Fix backend/frontend server startup with proper PID handling - Add explicit CI environment variable for Playwright - Add timeout configuration to Playwright config - Improve server startup logging
…re tests - Extract baseURL to constant in Playwright config for consistency - Add server verification step before running E2E tests - Ensure CI environment variable is set for Playwright - Add connection test before running Playwright tests
- Update all E2E test files to use baseURL from Playwright test context - Add fallback to environment variable if config baseURL unavailable - Fix e2e-tests.yml workflow to use /health endpoint instead of /graphql - Separate backend and frontend wait steps with better logging - Enhance Playwright config with explicit baseURL in project settings - All tests now properly handle baseURL to avoid 'invalid URL' errors
- Add missing E2E test dependencies installation step - Set working-directory for E2E test execution - Add CI environment variable for Playwright - Update README to clarify which workflow to use - Document that tests.yml is the recommended workflow
- Fix navigation tests to use full URLs instead of relative paths - Fix console errors test to filter out more non-critical errors - All navigation tests now explicitly construct full URLs from baseURL - Improved error filtering for network and chunk loading errors
…e configuration - Fix Next.js build artifact path from web/.next to web/build (matches distDir config) - Fix Keycloak service: remove invalid 'command' field, use --entrypoint in options - Add KC_DB=dev-file for in-memory H2 database - Configure Keycloak to start in dev mode via entrypoint
- Use Keycloak's default entrypoint /opt/keycloak/bin/kc.sh - Pass start-dev as command argument (not via shell wrapper) - Keep KC_DB=dev-file for in-memory H2 database - This should avoid Docker flag parsing issues with -c flag
- Remove --entrypoint override that was causing Docker to interpret start-dev as image name - Rely on Keycloak's default entrypoint with KC_DB=dev-file environment variable - KC_DB=dev-file should automatically start Keycloak in dev mode - Minimal configuration using only environment variables
- Keycloak was showing help message because no command was passed - Add --entrypoint with shell wrapper to execute /opt/keycloak/bin/kc.sh start-dev - Quote /bin/sh to ensure proper parsing by Docker - This should start Keycloak in dev mode with KC_DB=dev-file
- Create custom Dockerfile for Keycloak with start-dev entrypoint - Add build-keycloak-dev job to build and push custom image to GHCR - Update simulator-tests to depend on build job and use custom image - This solves the GitHub Actions services limitation of not supporting command arguments - Based on recommended solution from GitHub Actions documentation
- Remove custom Dockerfile and build job - Use original Keycloak image with entrypoint in quotes - Put entire entrypoint command in quotes: --entrypoint "/bin/sh -c /opt/keycloak/bin/kc.sh start-dev" - This should prevent Docker from parsing -c as a separate flag
- Change from single quoted string to: --entrypoint "/bin/sh" -c "/opt/keycloak/bin/kc.sh start-dev" - This should properly separate the entrypoint from the command argument - The -c flag and command are now properly quoted separately
- Change to: --entrypoint "/bin/sh -c '/opt/keycloak/bin/kc.sh start-dev'" - This wraps the entire command in single quotes inside the double-quoted entrypoint - Should prevent Docker from parsing -c as a separate flag
…le quotes - Format: --entrypoint "/bin/sh -c '/opt/keycloak/bin/kc.sh start-dev'" - Wraps the entire command in single quotes inside the double-quoted entrypoint - This should prevent Docker from parsing -c as a separate flag
- Format: "--entrypoint /bin/sh -c '/opt/keycloak/bin/kc.sh start-dev'" - This quotes the entire entrypoint option including the flag name - May help with GitHub Actions service container parsing
- Remove Keycloak from services section (GitHub Actions services have limitations) - Add 'Start Keycloak' step using docker run with start-dev command - Add 'Wait for Keycloak to be ready' step with health check - This approach gives full control over Keycloak startup and avoids entrypoint issues
- Keep only the 'Wait for Keycloak to be ready' step after starting Keycloak - Remove the old 'Wait for Keycloak' step that was redundant
- Move checkout before Keycloak start to access keycloak/tasks.json - Add volume mount for keycloak directory: -v keycloak:/opt/keycloak/data/import:ro - Add --import-realm flag to start-dev command (like docker-compose) - Improve health check: add -s flag, redirect output, increase timeout to 120s - This should fix connection reset errors and automatically import the tasks realm
- The --import-realm flag automatically imports everything from keycloak/tasks.json - tasks.json already contains: tasks realm, tasks-web client, tasks-backend client, and test user - Manual setup via API is no longer needed
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.
No description provided.