ReleaseEngineering/DisposableProjectRepositories: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
 
(208 intermediate revisions by 67 users not shown)
Line 14: Line 14:


===Book one of our fabulous "disposable" project branches===
===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|BOOKING SCHEDULE]]
* Sign up below in the [[#BOOKING_SCHEDULE|BOOKING SCHEDULE]]
* Make a [https://bugzilla.mozilla.org/enter_bug.cgi?product=mozilla.org&component=Server%20Operations:%20Developer%20Services&short_desc=Requesting%20twig%20repo%20{booked_repo}%20be%20reset&comment=Please%20run%20the%20{script_name}%20and%20reset%20{booked_repo}%20to%20{url} 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'''.
* Make a [https://bugzilla.mozilla.org/enter_bug.cgi?product=Developer%20Services&component=Mercurial:%20hg.mozilla.org&short_desc=Requesting%20twig%20repo%20{booked_repo}%20be%20reset&comment=Please%20run%20the%20{script_name}%20and%20reset%20{booked_repo}%20to%20{url} request] (example: {{bug|1518167}}) to VCS to reset the repo for you. You can specify the source repository and target revision to use, or default to mozilla-central:tip. '''Ask that they run the `hgmo-reset-twig.yml` Ansible playbook found in version-control-tools to accomplish this'''.
<pre>
* '''NOTE''': Your repository will have no hooks enabled after a reset. You'll need to specify in the request if you need any configured.
export REPO_PATH=[path to your repo]                # eg: users/lsblakk_mozilla.com/staging
* After Developer Services runs the reset, they will also notify the teams who operate the automation, so they can adjust their schedulers to recognize the reset. If you don't see the expected builds, check with the automation teams to ensure their reset occurred.
export TWIG=[alder|birch|cedar|holly|larch|maple]    # whichever twig you booked
* Sit back and watch your builds and test results roll in (eg [https://treeherder.mozilla.org/#/jobs?repo=birch Birch], [https://treeherder.mozilla.org/#/jobs?repo=cedar Cedar], [https://treeherder.mozilla.org/#/jobs?repo=larch Larch], [https://treeherder.mozilla.org/#/jobs?repo=maple Maple]).   
 
cd /repo/hg/scripts/
./reset_pp_repo.sh -s /repo/hg/mozilla/$REPO_PATH -r tip -d $TWIG
</pre>
* '''NOTE''': Coordinate with IT when this repo gets reset to push immediately without hitting the webheads. Otherwise, the permissions won't be set correctly.
* Sit back and watch your builds and test results roll in (eg [http://tbpl.mozilla.org/?tree=Alder Alder], [http://tbpl.mozilla.org/?tree=Birch Birch], [http://tbpl.mozilla.org/?tree=Cedar Cedar],[http://tbpl.mozilla.org/?tree=Holly Holly], [http://tbpl.mozilla.org/?tree=Larch Larch], [http://tbpl.mozilla.org/?tree=Maple 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 mozilla.org :: Release Engineering with a comment 'Please restart the build scheduler'.
* 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.


<div id="unbook"></div>


<div id="unbook"></div>
===When you're done with one of our fabulous "disposable" project branches===
===When you're done with one of our fabulous "disposable" project branches===


Line 47: Line 40:


==Enabling/Disabling of platforms, tests, nightly updates ==
==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 [https://bugzilla.mozilla.org/enter_bug.cgi?assigned_to=nobody%40mozilla.org&bug_file_loc=http%3A%2F%2F&bug_severity=normal&bug_status=NEW&component=Release%20Engineering%3A%20Automation&contenttypemethod=autodetect&contenttypeselection=text%2Fplain&defined_groups=1&flag_type-4=X&flag_type-481=X&flag_type-607=X&flag_type-674=X&flag_type-720=X&flag_type-721=X&flag_type-737=X&flag_type-775=X&flag_type-780=X&form_name=enter_bug&maketemplate=Remember%20values%20as%20bookmarkable%20template&op_sys=All&priority=--&product=mozilla.org&qa_contact=catlee%40mozilla.com&rep_platform=x86&target_milestone=---&version=other here].
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 [https://bugzilla.mozilla.org/enter_bug.cgi?product=Release%20Engineering here].


Nightly builds and updates are disabled by default but can be enabled on request.
Nightly builds and updates are disabled by default but can be enabled on request.
Line 53: Line 46:
== BOOKING SCHEDULE  ==
== BOOKING SCHEDULE  ==


{| class="data"
{| class="data wikitable"
|-
|-
! Project Branch
! Project Branch
Line 62: Line 55:
! Next in Line
! Next in Line
|-
|-
| [https://tbpl.mozilla.org/?tree=Alder Alder]
|
| -
|
| rjesup@mozilla.com
|
| jesup, anant: WebRTC integration
|
| 2011-09-20 – indefinite
|
| -
|  
|-
|-
| [https://tbpl.mozilla.org/?tree=Ash Ash]
| [https://treeherder.mozilla.org/#/jobs?repo=ash Ash]
| {{bug|801214}} {{bug|801612}}
| {{bug|1786042}}
| ctalbert@mozilla.com
| rob@thunderbird.net
| ctalbert: Staging area for mozharness testing
| aleca, darktrojan
| 2013-04-12 - indefinite
| 2022-08-19 - 2023-08-31
| -
|  
|-
|-
| [https://tbpl.mozilla.org/?tree=Birch Birch]
| [https://treeherder.mozilla.org/#/jobs?repo=cypress Cypress]
| -
| {{bug|1899403}}
| joduinn@mozilla.com
| mfroman@mozilla.com
| alternate mozilla-inbound for b2g
| mjf@matrix.mozilla.org
| 2013-04-10 -  
| 2024-01-09 - 2024-12-31
| -
|
|-
|-
| [https://tbpl.mozilla.org/?tree=Cedar Cedar]
| [https://treeherder.mozilla.org/#/jobs?repo=elm Elm]
| -
| {{bug|1728404}} libwebrtc update 2H2020
| aki@mozilla.com
| na-g@nostrum.com
| aki: mozharness talos, b2g, pandas, win8, aws testing
| chew@matrix.mozilla.org
| 2012-06-25 - indefinite
| 2021-07-31 - 2024-12-31
| -
|
|-
|-
| [https://tbpl.mozilla.org/?tree=Cypress Cypress]
| [https://treeherder.mozilla.org/#/jobs?repo=cedar Cedar]
| -
| {{bug|1820001}} iOS prototyping
| joduinn@mozilla.com
| jeevans@mozilla.com, csadilek@mozilla.com
| backup mozilla-inbound in case of prolonged closures
| csadilek
| 2013-04-26 -  
| 2023-03-02 - 2024-03-31
| -
|
|-
|-
| [https://tbpl.mozilla.org/?tree=Date Date]
| <strike>[https://treeherder.mozilla.org/#/jobs?repo=fig Fig]</strike>
| -
| retired
| -
| retired
| -
| retired
| -
| retired
|
| retired
|-
|-
| [https://tbpl.mozilla.org/?tree=Elm Elm]
| <strike>[https://treeherder.mozilla.org/#/jobs?repo=gum Gum]</strike>
| -
| retired
| -
| retired
| -
| retired
| -
| retired
| -
| retired
|-
|-
| [https://tbpl.mozilla.org/?tree=Fig Fig]
| [https://treeherder.mozilla.org/#/jobs?repo=holly Holly]
| {{bug|862793}}, {{bug|863286}}
| {{bug|1599905}}
| mleibovic@mozilla.com
| jewilde@mozilla.com, tom@mozilla.com
| margaret: Fennec multipage about:home
| <-
| 2013-04-18 - 2013-06-01
| 2019-12-02 - 2020-04-02
| -
| -
|-
|-
| [https://tbpl.mozilla.org/?tree=Gum Gum]
| [https://treeherder.mozilla.org/#/jobs?repo=larch Larch]
| Cache Work
| {{bug|1874491}} desktop sidebar
| dougt@mozilla.com
| elee@mozilla.com
| DougT: Cache
| Mardak, tarek
| 2013-12-31
| 2024-01-16 - 2025-01-16
|
|-
|-
| [https://tbpl.mozilla.org/?tree=Holly Holly]
| [https://treeherder.mozilla.org/#/jobs?repo=oak Oak]
| -
| {{bug|1819778}} Android Monorepo project: Prototyping move to M-C.
| -
| jlorenzo@mozilla.com, gluong@mozilla.com
| -
| jlorenzo, gl
| -
| 2023-03-02 - 2024-06-30
| -
| -
|}
Be sure to keep a copy of anything you need from the repo prior to [[#unbook|unbooking]] it.
== Indefinite booking  ==
See also [[ReleaseEngineering/SpecialBranches]] for more info on these branches.
{| class="data wikitable"
|-
! Project Branch
! Regist. bug
! email address of borrower
! User/Dev Team contact
! Booking Dates
|-
|-
| [https://tbpl.mozilla.org/?tree=Jamun Jamun]
| [https://treeherder.mozilla.org/#/jobs?repo=date Date]
| -
| disabled
| -
| disabled
| -
| disabled
| -
| DO NOT USE - https://wiki.mozilla.org/ReleaseEngineering/DisposableProjectRepositories
| -
|-
|-
| [https://tbpl.mozilla.org/?tree=Larch Larch]
| [https://treeherder.mozilla.org/#/jobs?repo=jamun Jamun]
| {{bug|516752}}
| {{bug|1666242}}
| billm, dvander
| rob@thunderbird.net
| Multi-process browsing
| comm-central as a branch
| 2013-04-10 - unknown
| 2020-10-21 - ?
| -
|-
|-
| [https://tbpl.mozilla.org/?tree=Maple Maple]
| [https://treeherder.mozilla.org/#/jobs?repo=birch Birch]
| {{bug|718121}}
| {{bug|1426132}}
| bhackett@mozilla.com
| supersnappy
| 5/14/2012 - indefinite
| -
| -
| Unused
| 2023-07-20 - indefinite
|-
|-
| [https://tbpl.mozilla.org/?tree=Oak Oak]
| [https://treeherder.mozilla.org/#/jobs?repo=maple Maple]
| {{bug|790467}}
| {{bug|1397773}}
| bbondy@mozilla.com
| hneiva@mozilla.com releng@mozilla.com
| bbondy
| MacOS Signing Changes
| 2012-09-11 - 2013-09-11
| 2023-07-28 - indefinite
| -
|-
|-
| [https://tbpl.mozilla.org/?tree=Pine Pine]
| [https://treeherder.mozilla.org/#/jobs?repo=pine Pine]
| {{bug|753113}}  
| {{bug|1845368}}
| badida@mozilla.com
| bytesized@mozilla.com
| benadida, MattN: Sign in to the browser and identity modules
| Desktop Integrations Team
| 2013-04-12 - indefinite
| 2023-07-27 - indefinite
| -
| -
|-
|}
|}
Be sure to keep a copy of anything you need from the repo prior to [[#unbook|unbooking]] it.

Latest revision as of 20:41, 28 May 2024

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 1518167) to VCS to reset the repo for you. You can specify the source repository and target revision to use, or default to mozilla-central:tip. Ask that they run the `hgmo-reset-twig.yml` Ansible playbook found in version-control-tools to accomplish this.
  • NOTE: Your repository will have no hooks enabled after a reset. You'll need to specify in the request if you need any configured.
  • After Developer Services runs the reset, they will also notify the teams who operate the automation, so they can adjust their schedulers to recognize the reset. If you don't see the expected builds, check with the automation teams to ensure their reset occurred.
  • Sit back and watch your builds and test results roll in (eg Birch, Cedar, Larch, Maple).

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
Ash bug 1786042 rob@thunderbird.net aleca, darktrojan 2022-08-19 - 2023-08-31
Cypress bug 1899403 mfroman@mozilla.com mjf@matrix.mozilla.org 2024-01-09 - 2024-12-31
Elm bug 1728404 libwebrtc update 2H2020 na-g@nostrum.com chew@matrix.mozilla.org 2021-07-31 - 2024-12-31
Cedar bug 1820001 iOS prototyping jeevans@mozilla.com, csadilek@mozilla.com csadilek 2023-03-02 - 2024-03-31
Fig retired retired retired retired retired
Gum retired retired retired retired retired
Holly bug 1599905 jewilde@mozilla.com, tom@mozilla.com <- 2019-12-02 - 2020-04-02 -
Larch bug 1874491 desktop sidebar elee@mozilla.com Mardak, tarek 2024-01-16 - 2025-01-16
Oak bug 1819778 Android Monorepo project: Prototyping move to M-C. jlorenzo@mozilla.com, gluong@mozilla.com jlorenzo, gl 2023-03-02 - 2024-06-30 -

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
Date disabled disabled disabled DO NOT USE - https://wiki.mozilla.org/ReleaseEngineering/DisposableProjectRepositories
Jamun bug 1666242 rob@thunderbird.net comm-central as a branch 2020-10-21 - ?
Birch bug 1426132 - Unused 2023-07-20 - indefinite
Maple bug 1397773 hneiva@mozilla.com releng@mozilla.com MacOS Signing Changes 2023-07-28 - indefinite
Pine bug 1845368 bytesized@mozilla.com Desktop Integrations Team 2023-07-27 - indefinite -