dotCMS / core

Headless/Hybrid Content Management System for Enterprises
http://dotcms.com
Other
867 stars 467 forks source link

[Escalation] e2e pipeline blocker #30822

Open sfreudenthaler opened 2 days ago

sfreudenthaler commented 2 days ago

Placeholder

Raised by @bryanboza, his e2e rock is blocked because he's having trouble getting them into the pipeline. This needs significant refinement before we can pick it up.

spbolton commented 2 days ago

Configuration Discrepancies and Testing Strategy

Context

Currently, there is a discrepancy between the environment configuration used during CI (integration/Postman tests) and the Docker Compose setup provided for running dotCMS. While Maven-based configurations ensure consistency and repeatability in CI, the Docker Compose file, used for local development or example setups, does not undergo similar testing. This raises concerns about configuration drift, reliability, and how the environment aligns with what customers might use.


Key Issues and Questions

1. Configuration Consistency Across Testing and Deployment

2. Centralized Source of Truth for Configuration

3. Alignment Between Parent POM and Runtime Behavior

4. Testing the Delivered Docker-Compose Configuration


Key Decisions to Address

  1. Validity of Current Testing Configurations

    • Are we testing with a configuration that reflects real-world use cases or customer environments? If not, adjustments should be prioritized to improve reliability.
  2. Synchronization of Configuration

    • How do we ensure synchronization between CI, Docker Compose, and development environments?
    • Centralizing configuration management (e.g., environmental profile-based setups) could eliminate duplication and reduce complexity.
  3. Eliminating Custom Configurations

    • Can we remove one-off configurations in favor of standardized, profile-driven setups that adapt based on the environment (e.g., CI vs. local development)?
  4. Testing the Docker Compose Configuration

    • Should we introduce automated tests (e.g., E2E or smoke tests) to validate the Docker Compose configuration as part of CI/CD?
    • Alternatively, should there be a dedicated process or task to ensure the Docker Compose file is functional and in sync with Maven-based configurations?

Possible Solutions

1. Unified Testing Approach

2. Centralized Configuration

3. Environmental Profiles

4. Testing Workflow Refinement

5. Testing Delivered Docker Compose


Questions to Resolve