ReleaseEngineering/DisposableProjectRepositories
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
- Sign up below in the BOOKING SCHEDULE
- Make a request 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 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
- Sit back and watch your builds and test results roll in (Alder,Birch,Cedar,Holly,Larch,Maple).
- Special note - READ ME: the first push to your newly cloned repo should now trigger a build since bug 562026 was checked in. If it does not, please re-open the bug.
- It will take 3 build runs for the leak checking tools to establish themselves. Before the third run expect to see the builds marked as burning. Other than the leak check the builds should compile and test fine.
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 you know you won't need some build platforms or tests you can help everyone by not using up machine resources on your pushes. Ask RelEng to 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 | User/Dev Team contact | Booking Dates | Next in Line |
---|---|---|---|---|
Alder | jesup, anant: WebRTC integration | 2011-09-20 – indefinite | - | |
Ash | bsmith: experimenting with NSS | 2012-01-30 - 2012-03-01 | - | |
Birch | ehsan: getting clang builds | 2012-04-25 - indefinite | - | |
Cedar | paolo: Downloads Panel | 2012-03-13 - 2012-04-23 | - | |
Elm | bug 686835 | bbondy | 2012-03-09 - 2013-03-09 | - |
Holly | No activity since Oct. 18th | Mossop: Jetpack team: work on supporting running add-ons out of process | 2011-08-17 - unknown | - |
Larch | khuey: DOM bindings | 2012-03-21 - 2012-04-01 | - | |
Maple | bug 667734 | GPHemsley, kscanne: Implementation of BCP 47 (bug 356038) | 2012-02-07 - 2012-04-01 | |
Oak | ehsan: integration work for bug 307181 and bug 481815 | 2011-10-25 - indefinite | - | |
Pine | bug 753113 | benadida, anant: Sign in to the browser and identity modules | 2011-05-08 - indefinite | - |
Be sure to keep a copy of anything you need from the repo prior to unbooking it.