Skip to content

Tracker & GitHub Workflow

Steve Ellis edited this page Jan 8, 2020 · 6 revisions

Feature and Bug Development Workflow:

  1. [Tracker] Check the top of the Backlog in Tracker.
  2. [Tracker] If the story has any Blockers listed, or someone else is listed as the Owner of the story, skip that story.
  3. [Tracker] Take the top story that you are capable of completing, and click "Start" to mark it as started. If any of it is unclear, feel free to grab someone and ask questions about it.
  4. [Local] When creating your Git branch, start your branch name with the type(feature, chore, bugfix, or release) with a slash, then have the Tracker story's ID followed by a short branch description. Example: chore/1234-optimize-queries
  5. [Local] Make the code changes necessary for the story, including relevant tests, ideally using test driven development.
  6. [Local] Walk through the acceptance criteria for the story. You will save a lot of time and effort if you manually verify the acceptance criteria before entering the PR review phase. If there is not explicit acceptance criteria, do your best to verify the behavior is what you intend by using the product.
  7. [Local] When you are done developing the story and ready to push it up, make sure your branch is rebased on top of the latest version of the remote develop branch on Github (or has the latest version of develop merged in if you prefer merging to rebasing). Push up your branch.
  8. [Github] Open a PR on GitHub.
  9. [Tracker] Mark the story as finished. Optionally, Tracker will automate this for you if you include a tag in your commit message. If you get feedback on the PR requesting changes, return to step 5.
  10. [Tracker] Once your PR on Github has no outstanding changes requested and has at least one approval, it can be tested for acceptance. To signal your PR is ready for acceptance, mark the story as delivered in Tracker by clicking the "Deliver" button. This will indicates to the team that the story is ready to accept.
  11. [Tracker] If there are issues with your story from acceptance testing, the accepter will mark your story as rejected with a comment detailing what went wrong. If the story is rejected, return to step 1 and fix the code to meet the accepter's criteria.
  12. [Github] When the story is accepted, the accepter will merge the branch for you. Congratulations on contributing to Chainlink! Thank you for your help.