Contribution Guidelines

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.