Labs/Jetpack/FlightDeck/Contribution

From MozillaWiki
Jump to navigation Jump to search
Draft-template-image.png THIS PAGE IS A WORKING DRAFT Pencil-emoji U270F-gray.png
The page may be difficult to navigate, and some information on its subject might be incomplete and/or evolving rapidly.
If you have any questions or ideas, please add them as a new topic on the discussion page.

Overview

  • Changes should follow Style Guide
  • All changes should be accompanied with test (no front-end tests yet)
  • Development should be done on Github
  • Every change should have a corresponding bug in bugzilla
  • Every change should be developed in a specific branch named 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
  • Production branch is for production only and it is merged from devel only

If you have questions, ask in #jetpack on IRC or on the Jetpack mailing list. You may also like to read the Code Workflow document.

How to start

Installation process has been changed in the dev version (will change soon in production) please use instructions described here: http://fddoc.zalewa.info/development/installation.html I will update this wiki if we will decide to not use Sphinx as default development documentation system.

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.

  1. Create github account
  2. Fork from the official main repository
  3. Install FlightDeck on your machine - Install instruction - from your repository, assuming your username is john it is:
    git clone git@github.com:john/FlightDeck.git
  4. Add main repository to remote repositories
    git remote add main git://github.com/mozilla/FlightDeck.git

How to commit

  1. checkout to the branch you want to fix
    • master for current development
      git checkout master; git pull origin master
    • release-# branches for fixing the release
      git checkout release-1.0a3; git pull origin release-1.0a3
  2. fetch current remote branches
    git fetch
  3. Findor create bug in bugzilla
  4. check if the bug branch is already created
    git branch -r
    • if so - use it to create your branch
      git checkout -b bug-12345-name_of_the_feature main/bug-12345-name_of_the_feature
    • else create a new branch
      git checkout -b bug-12345-name_of_the_feature
  5. code
  6. commit changes
  7. push to your repository
    git push origin bug-12345-name_of_the_feature
  8. provide the link to the commit in bugzilla
  9. switch back to master branch
    git checkout master

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