-
Notifications
You must be signed in to change notification settings - Fork 0
Robot Software Team Workflow
Team 4909 uses GitHub for version control and to enhance our collaboration.
GitHub is a way to store our code safely in the "cloud", and also allows for us to quickly make small, reversible, changes.
Beyond storing code, GitHub offers a whole suite of tools to help teams work together to write larger codebases. We will make use of GitHub issues, milestones, and branching.
GitHub "issues" should be created for ALL proposed changes to our codebase, including new features and bug fixes. Each GitHub issues should have three label types: a priority, a status, and a type.
Every week during build season, we will choose a set of issues to work on and delegate tasks among the software sub-team. These collections of issues become "milestones" and can be found under the milestones tab in GitHub.
Branches MUST also be created for ALL changes to our codebase. Branches essentially allow us to safely modify a copy of the code without the risk of breaking the competition-ready code.
Branches should be either named "FEATURE-XYZ" or "DEFECT-XYZ", depending on whether the issue is a bug fix or a new feature request. The XYZ should be the issue number for tracking purposes.
Once development on a branch is completed & tested, a pull request(merge request) to the master branch should be created. ALL pull requests must be code reviewed by either the software lead/mentors and tested on the robot prior to being integrated.
This allows for your changes to be safely integrated into the competition-ready code.
- GitHub Issues are created for feature requests from mechanical as well as bug fixes
- During weekly meetings, the software sub-team will choose which issues to tackle in the upcoming week and tasks will be assigned as part of the weekly milestone.
- Assignee creates branch
- Code changes are made in branch
- Pull request to master is created
- PR is merged by software lead/mentor