Confirmed users
4,293
edits
m (→Introduction) |
|||
| Line 49: | Line 49: | ||
To set the scene, lets suppose we are releasing MyApp 1.0.x and 2.0.y today. There are minor updates for all prior 1.0 versions to 1.0.x, and the same setup for 2.0.y. We have also prepared and tested a major update from 1.0.x to 2.0.y, which will prompt the user to upgrade to the newer branch. We want to be confident that 2.0.y contains no regressions before we offer it to our large base of users on 1.0.x, so at first we will throttle the major update. Only users which manually go Help > Check For Updates (or Help > About > Check for Updates) will be offered the major update. Later we will advertise (or unthrottle) the major update to all requests. | To set the scene, lets suppose we are releasing MyApp 1.0.x and 2.0.y today. There are minor updates for all prior 1.0 versions to 1.0.x, and the same setup for 2.0.y. We have also prepared and tested a major update from 1.0.x to 2.0.y, which will prompt the user to upgrade to the newer branch. We want to be confident that 2.0.y contains no regressions before we offer it to our large base of users on 1.0.x, so at first we will throttle the major update. Only users which manually go Help > Check For Updates (or Help > About > Check for Updates) will be offered the major update. Later we will advertise (or unthrottle) the major update to all requests. | ||
== Key == | |||
The following conventions for cell formatting are used below | |||
{| class="fullwidth-table" | |||
|- | |||
| style="background:#cccccc" | '''Formatting''' | |||
| style="background:#cccccc" | '''Meaning''' | |||
|- | |||
| style="background:orange" | 1.0.x | |||
| Throttled | |||
|- | |||
| style="background:lightgreen" | 1.0.x | |||
| Unthrottled | |||
|- | |||
| '''1.0.x''' | |||
| Changed since last snapshot | |||
|} | |||
Each table shows the update destination for a request of Version and Channel. | |||
== Unthrottled major update present at release start == | == Unthrottled major update present at release start == | ||
{| class="fullwidth-table" align="center" | |||
|- | |||
| rowspan="2" style="background:#cccccc" | '''Channel''' | |||
| colspan="6" style="background:#cccccc" | '''Version''' | |||
| rowspan="2" style="background:#cccccc" | '''AUS Config''' | |||
|- | |||
| style="background:#cccccc" | Old 1.0 | |||
| style="background:#cccccc" | 1.0.x-1 | |||
| style="background:#cccccc" | 1.0.x | |||
| style="background:#cccccc" | Old 2.0 | |||
| style="background:#cccccc" | 2.0.y-1 | |||
| style="background:#cccccc" | 2.0.y | |||
|- | |||
| colspan="8" | We start off with 1.0.x-1 and 2.0.y-1 released, and an unthrottled major update between them: | |||
|- | |||
| betatest, releasetest | |||
| style="background:lightgreen" | 1.0.x-1 | |||
| style="background:lightgreen" | 2.0.y-1 | |||
| - | |||
| style="background:lightgreen" | 2.0.y-1 | |||
| - | |||
| - | |||
| rowspan="3" | <pre>$productThrottling = array( | |||
'MyApp' => array( | |||
) | |||
); | |||
$throttleExceptions = array( | |||
); | |||
</pre> | |||
|- | |||
| beta | |||
| style="background:lightgreen" | 1.0.x-1 | |||
| style="background:lightgreen" | 2.0.y-1 | |||
| - | |||
| style="background:lightgreen" | 2.0.y-1 | |||
| - | |||
| - | |||
|- | |||
| release | |||
| style="background:lightgreen" | 1.0.x-1 | |||
| style="background:lightgreen" | 2.0.y-1 | |||
| - | |||
| style="background:lightgreen" | 2.0.y-1 | |||
| - | |||
| - | |||
|- | |||
| colspan="8" | After the automation finishes build1 for 1.0.x and 2.0.y, and we generate the major update: | |||
|} | |||
== Throttled major update present at release start == | == Throttled major update present at release start == | ||