Mozillians/Releases/Process: Difference between revisions
< Mozillians | Releases
Jump to navigation
Jump to search
Bsternthal (talk | contribs) No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
=== Purpose === | |||
The purpose of this release process is to ensure that only high-quality code moves into production and does so in an orderly, predictable way that all stakeholders can depend on and plan around. | |||
== | === Schedule === | ||
In 2013, Mozillians releases go to production on Thursdays. They may happen as often as weekly; they may be less frequent in some cases. | |||
=== Sequence === | |||
* A bug is filed with a particular release date. | |||
=== | * A developer assigns herself the bug. | ||
* | * The developer works on the bug. | ||
** This entails forking the [https://github.com/mozilla/mozillians Mozillians GitHub repository] and committing code to the fork. | |||
* | ** Code should adhere to [http://www.python.org/dev/peps/pep-0008/ PEP8] | ||
** Commits should be squashed into an atomic unit. [https://gist.github.com/2422571 Here is a handy reference] of github commands. | |||
** Commit messages should adhere to [http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html this guide] and should be prefixed with a string like this: <pre>[fix bug 248057] Make it go to 11</pre> | |||
* The developer issues a pull request. | |||
* A second developer with repository administration privileges reviews the new code and, if it is satisfactory, [[/Web_Testing/Automation/CodeReviewProcess#How_to_do_a_merge.3F | merges]] it into the /mozilla/mozillians repository on GitHub. | |||
** QA engineers may [[/Web_Testing/Automation/CodeReviewProcess | monitor code]] merged to the /mozilla/mozillians repository on GitHub. | |||
* Within 15 minutes, the continuous integration service (Jenkins) checks out the merged code, builds it, and [https://ci.mozilla.org/job/mozillians/ publishes the status]. | |||
** This | * Only if Jenkins tests pass, the code is deployed on the [https://mozillians-dev.allizom.org/en-US/ development server] and any commits with the appropriate commit message are changed in bugzilla to "RESOLVED/FIXED". | ||
* Prior to the release date, and in coordination with a QA engineer, a developer with the appropriate permissions pushes the release to staging. | |||
* QA engineers run automated and ad-hoc tests against staging, seeking clarification where necessary and marking bugs with the appropriate status. | |||
* On the release date, bugs that are "RESOLVED/VERIFIED" are pushed to production. | |||
* QA engineers re-verify application functionality. | |||
** | |||
* | |||
* | |||
* | |||
* | |||
* | |||
* | |||
* | |||
* | |||
* | |||
* | |||
* | |||
* | |||
* | |||
* |
Revision as of 00:48, 5 February 2013
Purpose
The purpose of this release process is to ensure that only high-quality code moves into production and does so in an orderly, predictable way that all stakeholders can depend on and plan around.
Schedule
In 2013, Mozillians releases go to production on Thursdays. They may happen as often as weekly; they may be less frequent in some cases.
Sequence
- A bug is filed with a particular release date.
- A developer assigns herself the bug.
- The developer works on the bug.
- This entails forking the Mozillians GitHub repository and committing code to the fork.
- Code should adhere to PEP8
- Commits should be squashed into an atomic unit. Here is a handy reference of github commands.
- Commit messages should adhere to this guide and should be prefixed with a string like this:
[fix bug 248057] Make it go to 11
- The developer issues a pull request.
- A second developer with repository administration privileges reviews the new code and, if it is satisfactory, merges it into the /mozilla/mozillians repository on GitHub.
- QA engineers may monitor code merged to the /mozilla/mozillians repository on GitHub.
- Within 15 minutes, the continuous integration service (Jenkins) checks out the merged code, builds it, and publishes the status.
- Only if Jenkins tests pass, the code is deployed on the development server and any commits with the appropriate commit message are changed in bugzilla to "RESOLVED/FIXED".
- Prior to the release date, and in coordination with a QA engineer, a developer with the appropriate permissions pushes the release to staging.
- QA engineers run automated and ad-hoc tests against staging, seeking clarification where necessary and marking bugs with the appropriate status.
- On the release date, bugs that are "RESOLVED/VERIFIED" are pushed to production.
- QA engineers re-verify application functionality.