ReleaseEngineering/Official Platform Support Checklist

From MozillaWiki
Jump to: navigation, search

These are the steps that will have to be taken in order to officially support a new platform. They don't exactly have to happen in this order but it more or less follows a sequential order and some steps can be followed in parallel.

DISCLAIMER: This page is NOT guaranteed to contain 100% of the needs for all platforms. Use this page a guideline. Skip things that don't make sense for a given platform and do additional things that do make sense for it.

  • File a tracking bug
  • Create a reference image
    • Determine tool chain
      • What are the needed SDKs and tools to be installed on a fresh OS installation to get a build going
      • Talk with developers to help you with this and to use the right mozconfig
    • Must haves:
      • Nagios NRPE daemon - example of installing nagios
      • Puppet (example) or OPSI client
      • post-clone automation
        • buildbot.tac generation - buildbot-tac.py - (TODO: point to some documentation
          • ignore the ref image machine (patch)
        • OPSI host key automation (where appropriate) - (TODO: point to some documentation)
      • Staging SSH keys
    • Document OS installation and all subsequent changes under the ReferencePlatforms page
  • Generate a build and pass it to QA to test it
  • Deploy ref image to allocated slaves
    • File IT bugs:
      • Clone/image machines
      • Nagios checks for cloned slaves
  • Create mozconfig(s). Standard mozconfigs for Desktop Firefox at the time of writing are: debug, nightly (aka opt), release, xulrunner)
  • Testing/baking on staging
    • Enable standard jobs in staging buildbot configs (normal and debug builds)
    • Make sure codesighs run (not for windows)
    • Staging graph server changes to add new platform
    • Builds should be succeeding
    • Unit tests should be passing, any oranges must be investigated
  • Try Server
    • build slaves allocated for try
    • mozconfig(s) for try
    • enable new platform on try master
  • TinderboxPushlog support
  • Wait times emails
  • Talos
    • Ref-image
    • Nagios
    • Puppet or OPSI
    • Add slaves to talos-pool and graph server db changes
  • Release builds
    • Enable the new platform on a staging release configuration file (patch)
    • Run an staging release (Documentation)
    • Update any release scripts that need to be made aware of the new platform. (which scripts?)
  • Breakpad/symbols/stack walker support
    • Developers fix this
    • Once fixed we enable it