Labs/Jetpack/FlightDeck/Contribution: Difference between revisions

From MozillaWiki
< Labs‎ | Jetpack‎ | FlightDeck
Jump to navigation Jump to search
 
(37 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{draft}}
= Overview =
= Overview =


*Changes should follow [[Labs/Jetpack/FlightDeck/Contribution/Style_Guide|Style Guide]]
*Changes should follow [[Labs/Jetpack/FlightDeck/Contribution/Style_Guide|Style Guide]]
*All changes should be accompanied with test (no front-end tests yet)
*All changes should be accompanied with test. (front-end tests soon)
*Development should be done on [http://github.com/ Github]
*Development is done on [http://github.com/ Github], but we certainly don't want to limit the user experience to github only. Feel free to use the server of your choice.
*Every change should have a corresponding bug in [https://bugzilla.mozilla.org/buglist.cgi?component=FlightDeck&product=Mozilla%20Labs bugzilla]
*Every change should have a corresponding bug in [https://bugzilla.mozilla.org/buglist.cgi?component=FlightDeck&product=Mozilla%20Labs bugzilla]
*Every change should be developed in a specific branch named bug-12345-human_readable where 123245 is a number of the bug
*Every change should be developed in a specific branch, it would be good if it would contain the number of the bug in bugzilla (i.e. bug-12345-human_readable where 123245 is a number of the bug)
*There is a number of developers who are able to merge and push from the private branch to the main repository
*There is a number of developers who are able to merge and push from the contributor's branch to the main repository
*Production branch is for production only and it is merged from devel only
*Production is updated from the tags marked before launch of the specific version (i.e. 0.9.4)
*You may also like to read the [[Labs/Jetpack/FlightDeck/Code_Workflow|Code Workflow]] document.


If you have questions, ask in [irc://irc.mozilla.org/#jetpack #jetpack on IRC] or on the [http://groups.google.com/group/mozilla-labs-jetpack Jetpack mailing list].
== Development installation ==
You may also like to read the [[Labs/Jetpack/FlightDeck/Code_Workflow|Code Workflow]] document.
*[[Labs/Jetpack/FlightDeck/Contribution/Installation|Basic Installation instructions]]
*[[Labs/Jetpack/FlightDeck/Contribution/CeleryInstallation|Running Celery]]
*[[Labs/Jetpack/FlightDeck/Contribution/ElasticSearchInstallation|Running Elastic Search]]
*[[Labs/Jetpack/FlightDeck/Contribution/PrepareFirefox|Firefox Configuration]]


= How to start =
== Contact the team ==
 
If you have questions, ask in [irc://irc.mozilla.org/#flightdeck #flightdeck on irc.mozilla.org] or on the [http://groups.google.com/group/mozilla-labs-jetpack Jetpack mailing list].
''We do work on github, but certainly we don't want to limit the user experience to github only. Feel free to use the server you like the most.''
 
#Create github account
#Fork from [http://github.com/zalun/FlightDeck Main repository] (it's a temporary setup)
#Install FlightDeck on your machine - [http://github.com/zalun/FlightDeck/INSTALL Install instruction] - from your repository, assuming your username is john it is: <pre>git clone git@github.com:john/FlightDeck.git</pre>
#Add main repository to remote repositories <pre>git remote add main git://github.com/zalun/FlightDeck.git</pre>


= How to commit =
= How to commit =


#checkout to the master branch <pre>git checkout master</pre>
#[https://bugzilla.mozilla.org/buglist.cgi?emailreporter2=1&emailtype2=exact&resolution=---&emailcc2=1&query_format=advanced&emailqa_contact2=1&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=REOPENED&email1=flightdeck%40mozilla.com&emailassigned_to1=1&emaillongdesc2=1&component=FlightDeck&product=Mozilla%20Labs Find]or [https://bugzilla.mozilla.org/enter_bug.cgi?product=Mozilla%20Labs&component=FlightDeck create] bug in bugzilla
#checkout and update the branch you want to fix
#*master for current development <pre>git checkout master; git pull main master</pre>
#*release-# branches for fixing the release <pre>git checkout release-1.0a3; git pull origin release-1.0a3</pre>
#fetch current remote branches <pre>git fetch</pre>
#fetch current remote branches <pre>git fetch</pre>
#[https://bugzilla.mozilla.org/buglist.cgi?emailreporter2=1&emailtype2=exact&resolution=---&emailcc2=1&query_format=advanced&emailqa_contact2=1&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=REOPENED&email1=flightdeck%40mozilla.com&emailassigned_to1=1&emaillongdesc2=1&component=FlightDeck&product=Mozilla%20Labs Find]or [https://bugzilla.mozilla.org/enter_bug.cgi?product=Mozilla%20Labs&component=FlightDeck create] bug in bugzilla
#create the branch you want to work on <pre>git checkout -b bug-12345-name_of_the_feature</pre>
#check if the bug branch is already created <pre>git branch -r</pre>if so - use it to create your branch <pre>git checkout -b bug-12345-name_of_the_feature main/bug-12345-name_of_the_feature</pre> else create a new branch <pre>git checkout -b bug-12345-name_of_the_feature</pre>
#code
#code
#commit changes
#test <pre>./manage test</pre>
#commit changes <pre>git commit -am "Please add comment here"</pre>
#push to your repository <pre>git push origin bug-12345-name_of_the_feature</pre>
#push to your repository <pre>git push origin bug-12345-name_of_the_feature</pre>
#provide the link to the commit in bugzilla
#provide the link to the commit in bugzilla
#switch back to master branch <pre>git checkout master</pre>
#switch back to master branch <pre>git checkout master</pre>
Ad 4. Sometimes you may want to work on some else's repository do following instead:
<pre>git remote add {username} {user_read_repository_at_github}
git fetch {username}
git checkout -b bug-12345-name_of_the_feature {username}/bug-12345-name_of_the_feature</pre>


If this is a fix to the current production system and it has to be implemented immediately please use the '''hotfix''' prefix instead of the '''bug''' one. Like ''hotfix-12345-name_of_the_fix''.
If this is a fix to the current production system and it has to be implemented immediately please use the '''hotfix''' prefix instead of the '''bug''' one. Like ''hotfix-12345-name_of_the_fix''.

Latest revision as of 17:28, 14 May 2011

Overview

  • Changes should follow Style Guide
  • All changes should be accompanied with test. (front-end tests soon)
  • Development is done on Github, but we certainly don't want to limit the user experience to github only. Feel free to use the server of your choice.
  • Every change should have a corresponding bug in bugzilla
  • Every change should be developed in a specific branch, it would be good if it would contain the number of the bug in bugzilla (i.e. bug-12345-human_readable where 123245 is a number of the bug)
  • There is a number of developers who are able to merge and push from the contributor's branch to the main repository
  • Production is updated from the tags marked before launch of the specific version (i.e. 0.9.4)
  • You may also like to read the Code Workflow document.

Development installation

Contact the team

If you have questions, ask in #flightdeck on irc.mozilla.org or on the Jetpack mailing list.

How to commit

  1. Findor create bug in bugzilla
  2. checkout and update the branch you want to fix
    • master for current development
      git checkout master; git pull main master
    • release-# branches for fixing the release
      git checkout release-1.0a3; git pull origin release-1.0a3
  3. fetch current remote branches
    git fetch
  4. create the branch you want to work on
    git checkout -b bug-12345-name_of_the_feature
  5. code
  6. test
    ./manage test
  7. commit changes
    git commit -am "Please add comment here"
  8. push to your repository
    git push origin bug-12345-name_of_the_feature
  9. provide the link to the commit in bugzilla
  10. switch back to master branch
    git checkout master

Ad 4. Sometimes you may want to work on some else's repository do following instead:

git remote add {username} {user_read_repository_at_github}
git fetch {username}
git checkout -b bug-12345-name_of_the_feature {username}/bug-12345-name_of_the_feature

If this is a fix to the current production system and it has to be implemented immediately please use the hotfix prefix instead of the bug one. Like hotfix-12345-name_of_the_fix.

Merging

Please always add --no-ff if using git merge