ReleaseEngineering/How To/Update Mercurial: Difference between revisions

no edit summary
No edit summary
Line 4: Line 4:


We install Mercurial into ''/tools/python27-mercurial/'' everywhere* (* - On windows we override the mozilla-build version). This is due to wanting a single, common, place for mercurial, and to avoid needing to update system packages that may depend on mercurial.
We install Mercurial into ''/tools/python27-mercurial/'' everywhere* (* - On windows we override the mozilla-build version). This is due to wanting a single, common, place for mercurial, and to avoid needing to update system packages that may depend on mercurial.
This document is designed so it can/should be followed top-down, but with self-contained sections to allow easy skimming/read-through.


==Future Issues==
==Future Issues==
Line 113: Line 115:
  users # Check for other logged in users first, be nice!
  users # Check for other logged in users first, be nice!
  halt
  halt
=== OSX ===
OSX is funky and needs a package built separately for each version, on the OS version its targeted for. This means we need to pull active slaves from rotation and install XCode on them via a puppet user environment.
I'm not repeating the puppet user environment instructions here, but I will detail what you need to change for these nodes.
==== 10.6 (Snow Leopard) ====
* Disable a random production slave, commenting with whatever bug you need it for, (you're essentially doing a loan - but need puppet running)
* Make sure you have a (clean/updated) puppetagain environment setup you can use (See [[ReleaseEngineering/PuppetAgain/HowTo/Set_up_a_user_environment|The Docs]])
* Add packagemaker and xcode to the node def for testers (applies to all OSX jobs)
** '''Note''' This will break any tester puppet runs for non OSX (but is fixable by reverting this)
# linux64 and OS X
node /t.*-\d+\.test\.releng\.scl3\.mozilla\.com/ {
    # hosts starting with t and ending in -digit.test.releng.scl3.mozilla.com
    $slave_trustlevel = 'try'
    include toplevel::slave::releng::test::gpu
    # New Lines Here
    include packages::packagemaker
    include packages::xcode
}
==== 10.7 (Lion) ====
* Disable a random production slave, commenting with whatever bug you need it for, (you're essentially doing a loan - but need puppet running)
** ''There is no need for puppet environment for this, its a builder and already has xcode''
==== 10.8 (Mountain Lion) ====
* Disable a random production slave, commenting with whatever bug you need it for, (you're essentially doing a loan - but need puppet running)
* Make sure you have a (clean/updated) puppetagain environment setup you can use (See [[ReleaseEngineering/PuppetAgain/HowTo/Set_up_a_user_environment|The Docs]])
* Add packagemaker and xcode to the node def for testers (applies to all OSX jobs)
** '''Note''' This will break any tester puppet runs for non OSX (but is fixable by reverting this)
# linux64 and OS X
node /t.*-\d+\.test\.releng\.scl3\.mozilla\.com/ {
    # hosts starting with t and ending in -digit.test.releng.scl3.mozilla.com
    $slave_trustlevel = 'try'
    include toplevel::slave::releng::test::gpu
    # New Lines Here
    include packages::packagemaker
    include packages::xcode
}
==== 10.9 (Mavericks) ====
* '''WARNING''' As of this writing we only have mac-v2-signing using mavericks, however we do need mercurial on these systems.
* The version built on 10.8 worked with mavericks as of this docs writing, so instead of giving full docs here for building a mavericks version, I'm hopeful next hg ver works on mavericks when built on 10.8 '''or''' we no longer have mavericks in production.
==== 10.10 (Yosemite) ====
* Disable a random production slave, commenting with whatever bug you need it for, (you're essentially doing a loan - but need puppet running)
* Make sure you have a (clean/updated) puppetagain environment setup you can use (See [[ReleaseEngineering/PuppetAgain/HowTo/Set_up_a_user_environment|The Docs]])
* Add packagemaker and xcode to the node def for testers (applies to all OSX jobs)
** '''Note''' This will break any tester puppet runs for non OSX (but is fixable by reverting this)
# linux64 and OS X
node /t.*-\d+\.test\.releng\.scl3\.mozilla\.com/ {
    # hosts starting with t and ending in -digit.test.releng.scl3.mozilla.com
    $slave_trustlevel = 'try'
    include toplevel::slave::releng::test::gpu
    # New Lines Here
    include packages::packagemaker
    include packages::xcode
}
Account confirmers, Anti-spam team, Confirmed users, Bureaucrats and Sysops emeriti
1,529

edits