Skip to content

Development Workflow

Dmitry Litvintsev edited this page Feb 19, 2020 · 22 revisions

Development workflow

For code review I suggest Google review board. Currently located at https://fermicloud140.fnal.gov/reviews. Its advantage over GitHub review is that it is far more powerful.

Go to this site and register. Accessible from Fermilab network only. So need VPN for off-site access.

Install RBTools

yum install RBTools

Edit ~/.reviweboardrc

echo "REPOSITORY = \"git://github.com/HEPCloud/decisionengine.git\"" > ~/.reviewboardrc

Edit ~/.gitconfig by adding:

[reviewboard]
        url = https://fermicloud140.fnal.gov/reviews

Suggested development cycle:

 git clone https://github.com/HEPCloud/decisionengine
 git pull
 git checkout -b <my branch>

Work on you branch, periodically rebase from master

 git rebase master 

When ready to post, do

git commit -a 

Post patch for review:

rbt post --guess-description --summary="summary" --testing-done="how I tested" --parent=master

The command will ask your username / password at reviewboard and will spit the URL of your review request, e.g. https://fermicloud140.fnal.gov/reviews/r/NUMBER/ . Cut&paste it into your browser. Finish review request by checking that diff looks good (upper right corner tabs). Fill in necessary additions to Description and Testig. Add Group name "decisionengine" under "Reviewers" and click "Publish"

An e-mail be sent to members of "decisionengine" group, and someone will review the request. IF you need to modify your review. Commit the change locally and run 👍

 rbt post  -r NUMBER  --parent=master

This will post another diff to https://fermicloud140.fnal.gov/reviews/r/NUMBER. Visit the page furnish it with details of your new commit and click publish.

When review is approved.

git rebase master
git push <remote> HEAD 

(by <remote> I mean your own remote repository in GitHub) . Follow instructions of creating a pull request. I will merge it ASAP as it has already been reviewed.

Edit your RB request by adding commit message and mark it as submitted.

Clone this wiki locally