-
Notifications
You must be signed in to change notification settings - Fork 7
Git workflow
Loïc Coenen edited this page Apr 12, 2019
·
13 revisions
- Name things properly: Issues, PRs, commit and branches will always be named using imperative present (ex. "Add a time field to booking process")
- Keep it tidy: Issue will be tagged and sorted:
- If the issue is a new feature or an enhancement, tag it with
feature. - If the issue is a bug, tag it with
bug. - If the issue is cosmetic or translation (label) related, tag it with
trivial. - Apply the
frontendandbackendtags accordingly. - Apply a priority:
urgent, regular (no tag),not urgentorwontfix. - Assign somebody to the issue if possible.
- Add it to the project. If it's a (urgent)
bugor atrivial, add it tonext. Otherwise (non-urgent/wontfixbugorfeature), add it inbacklog.
-
Know where to test: Two branches will be constantly connected to a server. The
masterbranch is the version currently in production.stagingcontains the development version. Each are connected to an Heroku "dynos". A third dynos is floating and can be connected to a development branch -
Use branches: Each
featureorbugissue will be worked on a separate branch. The branch will be named with the name of the issue, in low caps, hyphenated (ex.add-a-time-field-to-booking). If the issue is abug, derive it frommasterand prefix it withhotfix-. If the issue is afeature, create and merge withstaging. If the issue istrivial, commit directly onstaging(ormasterif it's urgent). -
Plan your launch: For each launches, select issues that will be added to the
nextcolumn. Create a launch PR and add the issues to a new milestone. Create a column at the extreme right with the launch name. -
Let other knows: Once you start working on an issue (that have been assigned to you), apply the
ongoingtag. Move it to theongoingcolumn. -
Commit clearly: Each commits will contain a summary of what have been done, followed by the issue reference (ex.
Add a time field into booking form #21). - Fix issues: Once the issue have been fixed:
- If the issue is
trivial, close the issue and add a message on the launch PR. - If the issue is a
bug, create a PR to merge yourhotfix-branch tomaster. - If the issue is a
feature, create a PR to merge your branch tostaging. - Remove the
ongoingtag and move the issue tostagedcolumn on the project board. - Ask somebody else to validate your work (see next point).
- Close the issue with a message tagging a validator.
- Always double-check: To validate somebody else's work:
- Check on mobile and on desktop if the issue have been correctly fixed.
- If everything is correct, move the card to
acceptedcolumn. - If the issue isn't fixed, re-open the comment clearly what the problem is and what is the desired result. Move the card to
have issuescolumn. - Merge (or express approval in) the corresponding PR if needed. Move the card to the launch column.
-
Launch the new version: After all issues of the milestone have been accepted, double-check that every issues have been correctly fixed, merge the
stagingPR and close the milestone. Move the cards fromapprovedto the launch column. Archive the launch column.
