Auto-tools/Projects/Mozmill/Release: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
 
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Releasing Mozmill has a lot of moving parts.  Here's how it's done.
Releasing Mozmill has a lot of moving parts.  Here's how it's done.


= Releasing a Preview Release (aka Release to PyPi) =
(See https://bugzilla.mozilla.org/show_bug.cgi?id=691368 for the bad page title)
For previews (beta, alpha, rc etc) it's pretty easy. You just send it up to pypi because bothering the AMO Editors for review of a pre-release addon really wastes their time. The one exception to this is for major releases, it might be good to get AMO editor feedback early. But in general, for these releases, we just go to pypi.  It's done like so:


# Bump your version: git checkout -b versionbump (do this from your dev branch for the release)
== Bump the Version Numbers in the Source ==
# Change all the setup.py/install.rdf's to have the proper <blah>rcX version where X is your rc number.  For betas, use 'beta' etc.  Pretty straightforward.
# Make a bug and attach the patch from 2 for review.  This is a good step just to ensure we don't miss anything.  Leave that bug open until we release so that you don't have to have a new bug for every silly version bump (i.e. rc1, then rc2 etc)
# Once you have review, commit your change to the development branch.
# Go into each directory (mozrunner/mozmill/jsbridge) and issue the following command: python setup.py sdist upload


'''Note:''' For step 5, you'll have to have a key registered with [http://pypi.python.org pypi] and be listed as a maintainer of the pypi packages in order for the upload step to work.  If you need that access for some reason, let harth or ctalbert know.
Versions are recorded in the python package setup.py files, and the
extension install.rdf files (for jsbridge and mozmill).  In addition,
the python package dependencies should be appropriately bumped as
well.
 
In order to bump the versions, it is recommended that you use the
version bumping script:
https://github.com/mozautomation/mozmill/blob/master/versionbump.py
 
Using --help to see the options for this script.
 
Make a bug and attach the patch for review.
 
== Tag the Version ==
 
Once the versions are bumped and committed to
https://github.com/mozautomation/mozmill , the branch should be tagged
with the appropriate version.  As an example, for the hotfix-1.5
branch ( https://github.com/mozautomation/mozmill/tree/hotfix-1.5 ),
the process looks like this:
 
git pull --tags mozauto hotfix-1.5
git tag
git tag 1.5.5
git push --tags mozauto hotfix-1.5
 
 
== Release to PyPi ==
 
Go into each directory (mozrunner/mozmill/jsbridge) and upload the package to pypi:
 
for i in mozrunner mozmill jsbridge; do cd $i; python setup.py sdist upload; cd ..; done
 
'''Note:''' To upload to PyPI, you'll have to have a key registered with [http://pypi.python.org pypi] and be listed as a maintainer of the pypi packages in order for the upload step to work.  If you need that access for some reason, let jhammel or ctalbert know.
 
== Release to AMO ==
 
https://addons.mozilla.org/en-US/firefox/addon/mozmill/ should be
updated for the latest mozmill version.
 
# Once you have a final version, cd into mozmill/mozmill/mozmill/extension
# Run: ant -f build.xml (this builds the extension)
# Log into your AMO account (assuming you are an owner of mozmill on AMO), upload the new extension and fill out the required forms on AMO for it.

Latest revision as of 06:11, 4 October 2011

Releasing Mozmill has a lot of moving parts. Here's how it's done.

(See https://bugzilla.mozilla.org/show_bug.cgi?id=691368 for the bad page title)

Bump the Version Numbers in the Source

Versions are recorded in the python package setup.py files, and the extension install.rdf files (for jsbridge and mozmill). In addition, the python package dependencies should be appropriately bumped as well.

In order to bump the versions, it is recommended that you use the version bumping script: https://github.com/mozautomation/mozmill/blob/master/versionbump.py

Using --help to see the options for this script.

Make a bug and attach the patch for review.

Tag the Version

Once the versions are bumped and committed to https://github.com/mozautomation/mozmill , the branch should be tagged with the appropriate version. As an example, for the hotfix-1.5 branch ( https://github.com/mozautomation/mozmill/tree/hotfix-1.5 ), the process looks like this:

git pull --tags mozauto hotfix-1.5
git tag
git tag 1.5.5
git push --tags mozauto hotfix-1.5


Release to PyPi

Go into each directory (mozrunner/mozmill/jsbridge) and upload the package to pypi:

for i in mozrunner mozmill jsbridge; do cd $i; python setup.py sdist upload; cd ..; done

Note: To upload to PyPI, you'll have to have a key registered with pypi and be listed as a maintainer of the pypi packages in order for the upload step to work. If you need that access for some reason, let jhammel or ctalbert know.

Release to AMO

https://addons.mozilla.org/en-US/firefox/addon/mozmill/ should be updated for the latest mozmill version.

  1. Once you have a final version, cd into mozmill/mozmill/mozmill/extension
  2. Run: ant -f build.xml (this builds the extension)
  3. Log into your AMO account (assuming you are an owner of mozmill on AMO), upload the new extension and fill out the required forms on AMO for it.