Skip to content

Branching and development

Neil M edited this page Mar 21, 2023 · 1 revision

We are using a simplified branching structure (not Git Flow) because development typically only involves 1-2 people.

master is always kept in a state that is ready for merging to production and pushing live.

Development

Features and non-urgent bugs

Features and bug fixes are worked on on branches, and submitted via pull requests.

If you work for Restart

If you have write access to the repo.

  • Developer creates a branch off of the develop branch.
  • Naming
    • begins with the name of the story in Jira, e.g DOT-1234, following by an underscore, following by short text reasonably indicative of which issue it relates to, in plain english.
    • e.g. DOT-1346_safari-timepicker
  • During dev, push the branch to restarters.dev, and check out to that branch for someone to feature test - we have multiple app instances available to test features concurrently
  • Regularly (e.g. daily) merge develop in to the feature branch, so the feature branch doesn't diverge too far away
  • When the feature has been signed off by the tester, a pull request is created against develop from the feature branch
    • Code review discussion takes place on the PR.
    • Review requested from relevant other dev
  • When code review complete, merged in to the develop branch

If you are helping out

Urgent bugs

We make any hotfixes directly on the live server:

  • Make the fix on the live server on the production branch.
  • Push the changes to master.
  • Merge master into develop.
  • Run the smoke test as per below.
  • Notify whoever needs to know that the hotfix is now live via Slack (as well as Jira).

Releases/Deployment

Moved here.

TODO