Pull Request Process
This runbook defines the standard Pull Request (PR) process for repositories hosted on GitHub.
1. Creating a Pull Request
1.1 Create a Feature Branch
- Branch from
main - Ensure your local
mainis up to date before branching - Use a meaningful branch name with the JIRA ticket prefix
Format:JIRA-TICKET-short-description
Example:ND-0456-fix-navigation-bug
1.2 Create a Draft PR (If Not Ready)
If your change is not ready for review, open a Draft Pull Request.
Use Draft PR when:
- Work is still in progress
- Tests/checks are failing
- You want early visibility but not formal review
Convert to Ready for Review only when:
- Implementation is complete
- All status checks pass
2. Pull Request Requirements
Before requesting review:
- Provide a clear PR description
- Link related issues (if applicable)
- Ensure commits are clean and meaningful
3. Branch Protection Rules
The following branch protection rules are enforced:
3.1 Require Review from Code Owners
3.2 Require Approval of the Most Recent Reviewable Push
- If new commits are pushed after approval, approval may be dismissed automatically
- Re-approval will be required
Best practice: - Avoid pushing additional commits after approval unless necessary
3.3 Require Conversation Resolution Before Merging
- All review comments must be resolved
3.4 Require Signed Commits
- All commits must be signed using a verified GPG signing key.
3.5 Require Status Checks to Pass Before Merging
Pull requests cannot be merged unless all required checks are passing.
Static Code Analysis
We use Trivy and TfLint for static code analysis and security scanning.
If Static Code Analysis fails:
- Review scan output
- Fix reported issues
- Push changes
- Confirm check turns green
4. Review Process
Request Review
Address Feedback
- Implement requested changes
- Respond to review comments
- Resolve conversations only after feedback is addressed
Merge PR
- Confirm all branch protection requirements are satisfied
- Ensure all required status checks are passing
- Ensure Code Owner approval applies to the latest commit
- Merge using Merge commit or Squash and merge (if standard)
- Do not bypass branch protection rules
5. Post Merge
- Confirm CI/CD workflow completes successfully
- If repository deploys automatically, verify deployment status
- Monitor for any failed workflows
Summary
All Pull Requests must:
- Be reviewed by Code Owners
- Have all conversations resolved
- Contain signed commits
- Pass all required status checks
- Meet branch protection requirements
Failure to meet any requirement will block merging.
This page was last reviewed on 17 February 2026.
It needs to be reviewed again on 17 August 2026
by the page owner #nvvs-devops
.
This page was set to be reviewed before 17 August 2026
by the page owner #nvvs-devops.
This might mean the content is out of date.