This document describes the git workflow that all developers of the narrative code must follow. It contains the workflow guidelines we've developed for contributing code and setting up product releases. For more information about releasing new versions of the Narrative Interface, see here.
- Last modified: Sep. 22, 2020
Table of Contents
There are 3 branches:
develop
– Development branch. New features are added off this branch.staging
– Staging or "release candidate" branch. The branch deployednarrative-dev
.main
– Production branch. The branch deployed onnarrative-next
andnarrative
. This branch is used for hotfixes.
Tags on main are used for indicating releases (see "Production releases", below).
To contribute to this repository create a pull request for a new feature or issue.
To begin working on a feature or story, make sure you've assigned yourself to the story/issue in JIRA and marked it as "In Progress". If there isn't an story/issue yet for what you want to work on, please create one.
Create a new branch off develop
using the naming convention:
{JIRA #}-{summary}
For example: DATAUP-63-data_panel_button
When your branch is ready for review, open a PR into develop. Address any lint errors or failing tests. Request reviews from relevant team members. Respond to PR feedback promptly, and request re-review once all issues have been resolved.
More detailed directions for the feature branch workflow are located on Github
External developers do not have write access to the repository. To create a pull request, fork the repository and submit a pull request from the fork. Instructions for how to fork a repository are located on GitHub.
In order to pass the build, flake8 and black must be run on the code. In order to avoid having to do so manually, use git pre-commit.