ReleaseEngineering/DisposableProjectRepositories

From MozillaWiki
< ReleaseEngineering
Revision as of 01:30, 16 December 2015 by Sicking (talk | contribs) (Request a twig for FlyWeb)
Jump to navigation Jump to search

What is a disposable project branch?

These are project branches that can be cloned fresh from any mozilla-central based repo with the full gamut of tests enabled. No l10n or nightlies for now. Similar to TryServer but for longer, and just for you. Unlike Try, the commit level on these branches is level_2 (and above) contributors only so please bear that in mind.

Do you need a disposable branch?

Ask yourself the following:

Does your project have an end date?

If your answer is No then you should follow the process at Project Branch Planning


If your project is a temporary feature sprint that needs its own rapid test coverage but will eventually be merged into mozilla-central and no longer be on its own by all means, please go ahead and

Book one of our fabulous "disposable" project branches

NOTE: The number of disposable branches is limited by CI capacity. If there are no available branches, contact the owners of existing branches to see if you can "sub let".

  • Sign up below in the BOOKING SCHEDULE
  • Make a request (example: bug 951811) to IT to reset the repo for you as a clone from your own project repo (or default mozilla-central:tip). Copy the script below into bug request, replacing the REPO_PATH and TWIG with your repo and booked branch.
export REPO_PATH=[path to your repo]                 # eg: users/lsblakk_mozilla.com/staging or comm-central
export TWIG=[alder|birch|cedar|holly|larch|maple]    # whichever twig you booked

cd /repo/hg/scripts/
./reset_pp_repo.sh -s /repo/hg/mozilla/$REPO_PATH -r tip -d $TWIG
  • NOTE: Coordinate with IT when this repo gets reset to push immediately without hitting the webheads. Otherwise, the permissions won't be set correctly.
  • NOTE: Your repository will have no hooks enabled after a reset. You'll need to specify in the request if you need any configured.
  • Sit back and watch your builds and test results roll in (eg Alder, Birch, Cedar,Holly, Larch, Maple).
  • Special note: the first push to your newly cloned repo may not trigger builds if the repo had been pushed to previously, which is bug 774862. If it does not, please re-open the bug and move it to Release Engineering :: General Automation with a comment 'Please reconfigure the build scheduler'.

When you're done with one of our fabulous "disposable" project branches

Simply clear your data (bug, contact, dates) from the BOOKING SCHEDULE below. If someone is listed in the "Next in Line" column, please let them know you are done.

That's all there is to it!

Using a custom mozconfig

The mozconfigs used for builds live in the same source tree as the main code, eg

  • Firefox: browser/config/mozconfigs/<platform>
  • Mobile Native: mobile/android/config/mozconfigs/android
  • Mobile XUL: mobile/xul/config/mozconfigs/android-xul

The 'nightly' file is used for optimised builds, 'debug' for debug. If you are unsure which file you need consult a build log to see which is used. You can adjust these as needed on your branch, and they will be carried over to mozilla-central when you merge back. Please take care with any mozconfig changes you merge back (eg exclude local conveniences).

Enabling/Disabling of platforms, tests, nightly updates

If the specific builds/tests you want are not enabled, or if there are builds/tests which you do not need on your branch, ask RelEng to enable/disable them by filing a bug here.

Nightly builds and updates are disabled by default but can be enabled on request.

BOOKING SCHEDULE

Project Branch Regist. bug email address of borrower User/Dev Team contact Booking Dates Next in Line
Alder bhearsum@mozilla.com
Ash nthomas@mozilla.com 2015-06-01 - TBD
Cypress sicking@mozilla.com :sicking, FlyWeb platform feature 2015-12-15 - 2016-06-30
Date bug 1118796 nthomas@mozilla.com Release automation changes 2015-01-11 - 2015-03-31
Elm bug 627699 glandium@mozilla.com Gtk+3 work 2014-06-19 - ??? PENDING -
Fig retired retired retired retired retired
Gum retired retired retired retired retired
Holly retired retired retired retired retired
Jamun bug 1147314 kechang@mozilla.com, kchen@mozilla.com Nested OOP 2015-03-25 - 2015-12-31
Larch - fabrice@mozilla.com Project Graphene PENDING
Oak bug 790467 and other risky updater work spohl@mozilla.com, rstrong@mozilla.com spohl, rstrong 2012-09-11 - 2015-12-31 PENDING -
Pine bug 929203 jgriffin@mozilla.com :gwagner, debug B2G builds and unit tests 2013-10-21 - indefinite PENDING -

Be sure to keep a copy of anything you need from the repo prior to unbooking it.

Indefinite booking

See also ReleaseEngineering/SpecialBranches for more info on these branches.

Project Branch Regist. bug email address of borrower User/Dev Team contact Booking Dates
Birch bug 1010674 catlee@mozilla.com disabled 2014-05-15 - indefinite PENDING
Cedar - jgriffin@mozilla.com new build/test testing for #ateam and #releng 2012-06-25 - indefinite PENDING
Maple - catlee@mozilla.com disabled - -