Skip to content

Commit 6b8ea12

Browse files
pascalchevrelclaude
andcommitted
Show 'updates paused' instead of rollout % when Balrog emergency shutoff is active
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 parent b6c107f commit 6b8ea12

3 files changed

Lines changed: 17 additions & 2 deletions

File tree

‎app/controllers/release.php‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@
123123
$beta_start_date,
124124
$firefox_releases,
125125
$release_rollout,
126+
$updates_shutoff,
126127
$uptake,
127128
$chemspills,
128129
$ios_schedule,
@@ -159,6 +160,7 @@
159160
'beta_start_date' => $beta_start_date,
160161
'firefox_releases' => $firefox_releases,
161162
'release_rollout' => $release_rollout,
163+
'updates_shutoff' => $updates_shutoff,
162164
'uptake' => $uptake,
163165
'chemspills' => $chemspills,
164166
'ios_schedule' => $ios_schedule,

‎app/models/past_release.php‎

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@
9191
// Balrog (current release only)
9292
if ((int) $requested_version === RELEASE) {
9393
$_to_prefetch[URL::Balrog->value . 'rules/firefox-release'] = CACHE_TIME;
94+
$_to_prefetch[URL::Balrog->value . 'emergency_shutoff'] = CACHE_TIME;
9495
}
9596

9697
// Adoption rate, slow endpoint (current and previous release only)
@@ -332,6 +333,13 @@
332333
// Check current rollout for the release channel
333334
if ((int) $requested_version === RELEASE) {
334335
$rollout = Json::load(URL::Balrog->value . 'rules/firefox-release')['backgroundRate'];
336+
337+
// The Balrog emergency shutoff stops all updates regardless of the rule's backgroundRate
338+
$shutoffs = Json::load(URL::Balrog->value . 'emergency_shutoff')['shutoffs'] ?? [];
339+
$updates_shutoff = array_any(
340+
$shutoffs,
341+
fn($s) => ($s['product'] ?? '') === 'Firefox' && ($s['channel'] ?? '') === 'release'
342+
);
335343
}
336344

337345
return [
@@ -360,6 +368,7 @@
360368
$beta_start_date,
361369
$firefox_releases,
362370
$rollout ?? -1,
371+
$updates_shutoff ?? false,
363372
$release_uptake,
364373
new Data()->chemspills,
365374
new IOS($requested_version)->getSchedule(),

‎app/views/templates/past_release.html.twig‎

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,11 @@
132132
</tr>
133133
</table>
134134

135-
{% set rollout = release_rollout ~ '% rollout' %}
135+
{% if updates_shutoff %}
136+
{% set rollout = '<span class="text-danger" title="Emergency shutoff active in Balrog">updates paused</span>' %}
137+
{% else %}
138+
{% set rollout = release_rollout ~ '% rollout' %}
139+
{% endif %}
136140
{% set hg_web_base = 'https://hg.mozilla.org/releases/mozilla-release/pushloghtml?fromchange=' %}
137141
{% set date_pattern = 'MMMM d' %}
138142

@@ -183,7 +187,7 @@
183187
{% set uptake_msg = '(adoption rate unavailable)' %}
184188
{% endif %}
185189
{% if dot_release_count == 0 %}
186-
{{ uptake_msg ~ ' - ' ~ rollout }}
190+
{{ uptake_msg }} - {{ rollout|raw }}
187191
{% else %}
188192
{{ uptake_msg }}
189193
{% endif %}

0 commit comments

Comments
 (0)