Branch Convention
Feature/Bug/Hotfix branches (feature/*-###, bug/*-###, hotfix/*
) are for features or bug fixes that are specifically associated with an existing issue ticket.
- These branches end with the issue ticket number that the branch is solving.
- Unit testing should be done on these feature branches to ensure that the branch works on an isolated level.
Integration branches (integration/*-###)
are for integration testing.
- This includes integration between Controls and other systems on the vehicle, as well as integration between our internal Applications/Drivers.
- Integration branches end with the issue ticket number for the specific integration being done.
Production branches (production/MX)
are for specific major releases of the codebase. ```master``` will always host the latest version.
- When releasing a new version, a production branch will need to be created
- The tip of the production branch will always be the latest release for that vehicle
- See How to Complete a Software Release for more.
Review Process
Commit frequently to your branch. A good rule of thumb is to push at natural stopping points + the end of each work session or workday, or more frequently that that if necessary. Create a pull request whenever you are ready to add you working code to the master branch. You must select 2 reviewers for approval. Any trained contributors are allowed to review and approve code. See our PR Template for more review guidelines.