ReleaseEngineering/Official Platform Support Checklist
From MozillaWiki
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)
- buildbot.tac generation - buildbot-tac.py - (TODO: point to some documentation
- Staging SSH keys
- Document OS installation and all subsequent changes under the ReferencePlatforms page
- Determine tool chain
- 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
- File IT bugs:
- 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