Quality Process

We follow a rigorous end-to-end quality process to ensure that all code deployed to our cloud is thoroughly validated, not only for functionality but also to meet our internal security and compliance standards.

Pull Request (PR) Checks

Before a pull request (PR) is merged, it must pass several mandatory checks to ensure the code is of the highest quality:

  • Unit Tests: These validate the code for both new functionality and regressions to ensure no unintended changes occur.
  • Merge Validation: Ensures the code can be cleanly merged into the main branch without conflicts.
  • PMD: Performs static code analysis to identify potential issues, like code complexity or violations of coding standards.
  • Code Base Hash Check: Ensures the integrity of the codebase and identifies any unauthorized changes.
  • Message Check: Verifies that commit messages follow the proper format and include necessary details.
  • Code Format Check Style: Ensures the code adheres to our predefined coding style guidelines for consistency.
  • Sonar Scan: Runs a static analysis on the code to detect bugs, vulnerabilities, and code smells.
  • Git Leaks: Checks for sensitive information, like passwords or keys, that might have been accidentally committed.
  • Module Dependency Check: Verifies that all dependencies are correctly managed and compatible.
  • Code Pulse: Monitors the overall health and quality of the code, including coverage and complexity metrics.

Once the PR passes all checks, it undergoes a peer code review—sometimes with two rounds of review for added scrutiny. Only after all review gates are cleared is the PR merged into the main branch. Additionally, developers run a set of regression tests to confirm that the existing codebase remains intact after the changes.

Snapshots

Every three hours, our automated system pulls the latest code from the main branch, builds the artifacts, and runs P0 and P1 test cases. Any failures are promptly investigated and addressed.

QA Cycle

A release branch is created from the main branch every week, and artifacts are built. This release goes through a full QA validation cycle, which includes both automated and manual testing. Any P0 or P1 defects, or regressions, are considered blockers and prevent the release from moving forward. Once the release has been fully validated and signed off, it moves to the deployment phase.

Deployments

Deployments begin in Zone 0, where the first deployment is made. For more details on our deployment framework, please refer to deployment framework documentation.

This structured process ensures that only high-quality, secure code reaches production, providing a reliable and safe experience for our users.

Additionally, our CI pipelines have STO scans integrated and any vulnerabilities that are found at that point in time are flagged for release exceptions as P0/P1 vulnerabilities and automatically blocks the Prod deployments.