GitHub Workflow Description
Branching
There are only 3 types of branches:
-
master
-
develop
-
feature-
master branch
This branch needs to be confirmed working. You are only allowed to merge into this branch from develop
via pull request. You are not allowed to merge untested/unfinished/non-functional code. NEVER push directly to this branch.
develop branch
This branch should work. You are allowed to directly push small changes to this branch, however you should make sure that what you have written works and has been tested on an actual robot. DO NOT PUSH UNTESTED CODE TO THIS BRANCH. If you are not sitting near the robot with the intent to test your code very soon you should probably consider creating a feature branch instead. You are allowed to merge any branch into this branch via pull request.
Small changes include, but are not limited to:
-
Changes to Motor ID’s in RobotMap
-
Changes to OI mappings
-
Formatting changes
feature- branches
ex: feature-intake, feature-vision
These are branches for major changes/new features. These generally include:
-
New subsystems (no matter how big/small) and commands that go with them
-
Large projects such as path-following autonomous, automatic shifting, vision changes, etc.
-
Major updates to an existing subsystem
If your code changes include new files you should probably consider making a feature branch. You can merge any branch into these branches
Deploying
At competition or other event where the robot is being driven,
-
On practice day, code from the
master
branch is deployed, unlessdevelop
has significant improvements.- If problems are found in
develop
and they cannot be fixed, deploy frommaster
instead.
- If problems are found in
-
If code changes are required at an event, follow this plan