-
Code Quality
- The PR must pass all automated tests (unit, integration, end-to-end) without any failures.
- The code must follow the project's coding standards and guidelines.
- There must be no high or critical severity issues reported by static code analysis tools.
- Code must be thoroughly reviewed and approved by at least one colleague.
-
Documentation (if applicable)
- Comprehensive documentation must be included or updated as part of the PR.
- Changes should be reflected in the user guides, developer guides, and API documentation as appropriate.
- Clear and concise inline comments must be present in the code where necessary.
-
Testing
- All new features or bug fixes must include corresponding unit tests.
- Integration tests must be added or updated to cover the changes.
- Performance and load testing results must be provided if the changes impact performance.
- Regression testing must be performed to ensure existing functionality is not broken.
-
Backward Compatibility
- The PR must not introduce breaking changes unless absolutely necessary, and such changes must be well-documented.
- If breaking changes are introduced, a clear migration path or instructions must be provided for users.
-
Security
- The code must be free of known security vulnerabilities.
- Security impact assessments must be conducted for new features or significant changes.
- Any new dependencies introduced must be vetted for security risks.
-
Performance
- The changes must not degrade the performance of the application, unless well justified, the impact is assessed, and approved by the stakeholders.
- Performance benchmarks should be provided, demonstrating that the new code performs within acceptable limits.
-
Feature Completeness
- The features or bug fixes introduced by the PR must be complete and fully functional.
- A feature under development must be gated by a feature flag of the "dev-preview" type, disabled by default.
- A technological preview feature must be gated by a feature flag of the "tech-preview" type, disabled by default.
- All acceptance criteria specified in the related issue or task must be met.
-
User Interface (if applicable)
- UI changes must be consistent with the design guidelines.
- Usability tests must be conducted to ensure the changes enhance the user experience.
-
Deployment and Configuration
- Any required changes to deployment scripts or configuration files must be included in the PR.
- The PR must ensure that the application can be deployed without manual intervention beyond what is documented.
-
Legal and Compliance
- The PR must adhere to all relevant legal and compliance requirements, such as licensing and data protection regulations.
- Any third-party dependencies must comply with the project's licensing policies.
-
Release Notes (if applicable)
- A summary of changes must be provided for inclusion in the release notes.
- Any known issues or limitations must be clearly documented.