QA/Desktop Firefox/Releases/Walkthrough/Beta
Beta Schedule
Week 1
- Monday: Merge Day, Beta 1 is built
- Thursday: Beta 1 is shipped after QA signs off the builds
Week 2
- Tuesday: Beta 2 is built
- Wednesday: Beta 2 is shipped after QA signs off the builds
- Thursday: Beta 3 is built
- Friday: Beta 3 is shipped after QA signs off the builds
Week 3
- Tuesday: Beta 4 is built
- Wednesday: Beta 4 is shipped after QA signs off the builds
- Thursday: Beta 5 is built
- Friday: Beta 5 is shipped after QA signs off the builds
Week 4
- Tuesday: Beta 6 is built
- Wednesday: Beta 6 is shipped after QA signs off the builds
- Thursday: Beta 7 is built
- Friday: Beta 7 is shipped after QA signs off the builds
Week 5
- Tuesday: Beta 8 is built
- Wednesday: Beta 8 is shipped after QA signs off the builds
- Thursday: Beta 9 is built
- Friday: Beta 9 is shipped after QA signs off the builds
Week 6
- Tuesday: Beta is merged to Release, RC is built
- Wednesday: RC is pushed to the Beta channel following QA sign-off
Week 7
- Monday: RC is pushed to the Releasetest channel following QA sign-off
- Tuesday: RC is pushed to the Release channel following QA sign-off
Beta Walkthrough
Merge Day
The following tasks should be completed on or before merge day:
- Pre-Beta Feature Sign-offs:
- feature owners will send an email detailing their "pre-beta sign-off status"
- if you don't see this email by merge day, send an email to each feature owner to ensure they're ready
- contact release drivers if any features are not ready for beta and need to be disabled
- Moztrap Regression Testrun:
- Create a moztrap regression testrun to be run throughout the Beta cycle
- Include tests based on past regressions
- Include tests based on new features
- Include tests based on bugzilla components with a high-volume of high-risk changes
- Mozmill Tests Migration
- the automation team will merge the mozmill-tests branch to mozilla-beta
- this needs to be done before Beta builds are generated, otherwise we may get a lot of false failures in Mozmill Tests
Beta Builds
Each Beta builds needs to have the following completed:
- Pulse-triggered Mozmill Tests
- On-demand Mozmill Tests
- Betatest Channel Update Tests
- Releasetest Channel Update Tests
- Stability spotcheck
- Support spotcheck
- Sign-off
- Beta Channel Update tests
Mozmill Functional Tests
There are two types of Mozmill functional tests: pulse triggered and on-demand.
Pulse Triggered Automation
These tests are triggered automatically as soon as builds become available. These test basic functionality in the builds from our top-10 locales. For the purposes of Beta build sign-off you only need to check the dashboard to make sure there wasn't a high volume of failures and that any failures that did occur are reported in Bugzilla.
On-demand Automation
These tests are the same as the pulse triggered tests except that they need to be triggered by hand. The on-demand tests give pair-wise coverage to the locales which were not tested via pulse. In other words, we ensure that all locales have been tested at least once before signing off.
- Create a plain-text ondemand_functional_firefoxN.cfg config file (example)
- Connect to the VPN
- Load the trigger interface
- Upload your config file and click Build
- Click the Back to Dashboard link, you should start to notice your tests running on the nodes on the left.
- Review the dashboard for any failures (note: it will take a couple of hours before final results are posted)
On-demand Update Automation
Beta -> Beta
- Wait for an email from [release] indicating "updates are ready"
- Create a config file by copying a previous config file and updating the version numbers (we usually test a few previous versions)
- be sure the config file indicates the update channel you want to test
- be sure the config file indicates the correct target build ID
- Connect to the VPN
- Load the trigger interface
- Click "Browse" and locate/select your config file
- Click "Build"
- Click the Back to Dashboard link, you should start to notice your tests running on the nodes on the left. It will take a couple of hours before final results are posted.
- Load the results dashboard and filter on the version you tested
- Additionally filter on a TO date of the day you ran the tests and a FROM date of the day before
- Additionally filter on the update channel you tested
- Review the results for any failures and search Bugzilla for related bugs if failures are reported
- This query can be helpful, listing open mozmill-test failures
- If bugs exist add a comment including links to failure reports -- file a new bug if one does not exist
RC -> Beta (example config)
- We also need to test updates from the previous RC to the current Beta
- Repeat the same steps as above with a slightly different config file
- add override-update-channel=firefox-mozilla-beta to the [testrun] section
- use the current Release as your source version
Beta Cycle
The following needs to be completed throughout the Beta cycle, either as part of or in parallel to a build sign-off.
- Regression testing
- Bug fix verifications
- Incoming bug triage
- QAWANTED bug triage
- Feature testing