This chapter is for contributors and maintainers.
Pull Request Process
This chapter outlines the steps and requirements for submitting a Pull Request (PR) to the NeuralDrive repository.
Branching Strategy
All development should occur on branches derived from the main branch. Use descriptive names for your branches:
feat/description-of-featurefix/description-of-bugdocs/description-of-docs-change
Preparation
Before submitting your PR:
- Sync with Main: Rebase your branch on the latest
mainto ensure there are no merge conflicts. - Run Tests: Ensure all automated tests pass locally.
- Linting: Run
shellcheckon shell scripts andruffon Python files. - Documentation: Update any relevant documentation files if your changes affect the system architecture or user experience.
Submission
When creating the PR on GitHub:
- Provide a clear and concise title using Conventional Commits format.
- Use the PR template to describe the changes, the motivation behind them, and how they were tested.
- Reference any related issues (e.g.,
Closes #123).
Review and Feedback
- At least one maintainer must review and approve the PR before it can be merged.
- Be prepared to address feedback and make requested changes.
- If you make updates, push them to the same branch; the PR will update automatically.
CI Requirements
The following checks must pass for a PR to be considered for merging:
- Build Validation: The
live-buildconfiguration must be valid. - Linting: All linters must report zero issues.
- API Tests: The
pytestsuite for the System API must pass.
Merging Policy
NeuralDrive uses a Squash and Merge policy. This keeps the main branch history clean and ensures that each feature or fix is represented by a single, well-documented commit.
Note: Only maintainers have the permission to merge PRs into the
mainbranch.