Initial Checks via GitHub Workflows
When a Pull Request (PR) is opened, our automated GitHub workflows perform several critical checks:Note: At Formbricks, all feature changes must be submitted through Pull Requests - direct pushes to protected branches are not allowed.
- PR Title Validation: Ensures clear, descriptive titles following our conventions
- Build Verification: Confirms that the build process completes successfully
- Test Suite: Runs all automated tests to catch potential regressions
- Translation Check: Identifies any missing translation keys
- Linting: Enforces our coding standards and style guidelines
Reviewer Assignment
Once all automated checks pass successfully:- A team member with relevant expertise is assigned as the reviewer
- The reviewer is notified automatically through GitHub
- Priority is given based on PR urgency and complexity
Functional Testing and UI Review
The assigned reviewer performs thorough testing:Functionality Testing
- Verifies that new features work as specified
- Tests edge cases and error scenarios
- Ensures proper error handling
- Checks integration with existing features
UI Review (if applicable)
- Validates visual consistency
- Checks responsive behavior
- Ensures accessibility standards
- Reviews user interaction flows
Feedback Process
If improvements are needed:- Reviewers add inline comments on GitHub
- Feedback is specific and actionable
- Code suggestions are provided when helpful
- Comments follow our constructive feedback guidelines
In-depth Code Review
Our code review process utilizes both human expertise and AI assistance:Manual Review
- Code structure and organization
- Design patterns and best practices
- Performance considerations
- Security implications
- Documentation completeness
AI-Assisted Review
We leverage advanced AI tools for additional insights:- Code Rabbit: Automated code analysis and suggestions
- Sonarqube: Code quality metrics and potential issues
Resolution and Merge
Final steps before merging:- All review comments must be addressed
- Required changes are implemented
- At least one reviewer approval is required
- All conversations must be resolved
- CI/CD pipeline passes again
- PR is merged into the target branch
Best Practices
- Keep PRs focused and reasonably sized
- Respond to review comments promptly
- Use the “Request Changes” feature when necessary
- Mark conversations as resolved when addressed
- Use approve/request changes workflow appropriately