AMO/FlightDeck/Contribution

From MozillaWiki
Jump to: navigation, search

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 Documentation

It's not fully working, http://flightdeck.readthedocs.org/ contains DocText and code samples. We should move more stuff there. It is automatically created from *master* branch. Sources in docs directory.


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