Release Management/Merge Documentation: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
Line 33: Line 33:
== Sync mozilla-beta to mozilla-release ==
== Sync mozilla-beta to mozilla-release ==
<strike>[http://hg.mozilla.org/build/braindump/file/default/releases-related Script available here (beta2release.sh)] '''do not use as it doesn't update confvars.sh'''</strike>
<strike>[http://hg.mozilla.org/build/braindump/file/default/releases-related Script available here (beta2release.sh)] '''do not use as it doesn't update confvars.sh'''</strike>
== Beta to Release Merge day helper Script ==
(Beta2Release) Merge day helper script : https://gist.github.com/bbajaj/7045666 ALWAYS GET A FRESH COPY IN CASE THERE HAVE BEEN UPDATES!!!
===Clobber mozilla-release builders===
===Clobber mozilla-release builders===
  Go to https://secure.pub.build.mozilla.org/clobberer/?branch=mozilla-release and clobber the mozilla-release builders
  Go to https://secure.pub.build.mozilla.org/clobberer/?branch=mozilla-release and clobber the mozilla-release builders
===Clone, Tag, update===
===Clone, Tag, update [Taken care by the helper script beta2release.py]===
'''NOTE THAT BELOW VERSION IS THE CURRENT FIREFOX VERSION ON M-R'''
* If running for the first time save this shell script in the directory where you typically do the beta to release merge.
 
For eg : I typically have the script saved as /Users/bbajaj/Mozilla/beta2release/beta2release.sh
 
* For every merge make sure you are have the latest release "VERSION" (including chemspill version) and you should be good to run it.
 
<pre>
#!/bin/bash
# Adjust VERSION variable which stands for the current Firefox version in mozilla-release
VERSION=21.0
HG_USER="username <email@mozilla.com>"


# exit immediately on errors
==== Running beta2release.py ====
set -e


hg clone http://hg.mozilla.org/releases/mozilla-release
* If running for the first time save this the script in the directory where you typically do the beta to release merge.  
hg clone http://hg.mozilla.org/releases/mozilla-beta


beta_rev=$(hg -R mozilla-beta id -i -r default)
For eg : I typically have the script saved as /Users/bbajaj/Mozilla/beta2release/beta2release.py
release_rev=$(hg -R mozilla-release id -i -r default)


RELEASE_BASE_TAG="RELEASE_BASE_`date +%Y%m%d`"
* Script will take-care of tagging, return here when ready to push mozilla-beta
RELEASE_TAG="FIREFOX_RELEASE_$VERSION"
''' hg -R mozilla-beta push ssh://hg.mozilla.org/releases/mozilla-beta '''
 
hg -R mozilla-beta tag -r $beta_rev -u "$HG_USER" -m "Added tag $RELEASE_BASE_TAG for changeset $beta_rev. CLOSED TREE a=release DONTBUILD" $RELEASE_BASE_TAG
hg -R mozilla-beta push ssh://hg.mozilla.org/releases/mozilla-beta
 
hg -R mozilla-release tag -r $release_rev -u "$HG_USER" -m "Added tag $RELEASE_TAG for changeset $release_rev. CLOSED TREE a=release" $RELEASE_TAG
hg -R mozilla-release commit -u "$HG_USER" -m "Closing old head. CLOSED TREE a=release" --close-branch
 
hg -R mozilla-release pull mozilla-beta
hg -R mozilla-release up -C default
</pre>


===Edit desktop config ===
===Edit desktop config ===
  # edit mozilla-release/browser/locales/shipped-locales file if you need to remove some beta locales (eg mn, sw)
  # edit mozilla-release/browser/locales/shipped-locales file if you need to remove some beta locales (eg mn, sw)
  # edit mozilla-release/browser/confvars.sh:
  # script takes care of config changes
-ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-beta,firefox-mozilla-release
+ACCEPTED_MAR_CHANNEL_IDS=firefox-mozilla-release
 
-MAR_CHANNEL_ID=firefox-mozilla-beta
+MAR_CHANNEL_ID=firefox-mozilla-release


=== Edit mobile mozconfigs ===
=== Edit mobile mozconfigs ===
'''Note: use 'official' for release mozconfigs, not 'release''''
'''Note: use 'official' for release mozconfigs, not 'release''''
<pre>
<pre>
# edit mozconfigs: mozilla-release/mobile/android/config/mozconfigs/...
# script takes care of config changes
#                      android and android-armv6 ...
 
#                      release, nightly, l10n-release, and l10n-nightly
-ac_add_options --with-branding=mobile/android/branding/beta
+ac_add_options --with-branding=mobile/android/branding/official
</pre>
</pre>


===Commit Changes===
===Commit Changes===
  # commit the changes
  # commit the changes
  hg -R mozilla-release commit -u "$HG_USER" -m "Updating configs CLOSED TREE a=release ba=release"
  #script takes care of the commits


  # push back
  # push back
Confirmed users
976

edits

Navigation menu