in app/classes/ReleaseInsights/Beta.php [52:123]
public function getLogEndpoints(): array
{
$hg_end_points = [];
[$have_rc, $number_rc_builds] = $this->RCStatus();
/*
Analyse Beta logs first
*/
foreach (range(0, $this->count) as $beta_number) {
$beta_start = ($beta_number == 0)
? 'FIREFOX_BETA_' . BETA . '_BASE'
: 'FIREFOX_' . BETA . '_0b' . $beta_number . '_RELEASE';
$beta_end = 'FIREFOX_' . BETA . '_0b' . (string) ($beta_number + 1) . '_RELEASE';
if ($beta_number == $this->count) {
$beta_end = 'tip';
// Just after merge day, we don't want to use tip for beta_end but the newly created tag
if ($this->beta_cycle_ended) {
$beta_end = 'FIREFOX_BETA_' . BETA . '_END'; // @codeCoverageIgnore
}
}
$beta_version = (string) BETA . '.0b' . (string) ($beta_number + 1);
// This is what landed on mozilla-beta after the last beta but before the merge and RC1
$beta_version = ($beta_number == $this->number_betas)
? (string) BETA . '.0rc0' // @codeCoverageIgnore
: (string) BETA . '.0b' . (string) ($beta_number + 1);
$hg_end_points[$beta_version] =
'releases/mozilla-beta/json-pushes?fromchange='
. $beta_start
. '&tochange='
. $beta_end
. '&full&version=2';
}
/*
Analyse Release logs for RCs if we are in RC week
Check if we have already shipped a Release Candidate build to the beta channel
Remote balrog API can give a 404, we have a fallback to N/A
*/
if ($have_rc) {
foreach (range(1, $number_rc_builds) as $rc_number) {
if ($rc_number == 1) {
$rc_start = 'FIREFOX_RELEASE_' . BETA . '_BASE';
$rc_end = 'FIREFOX_' . BETA . '_0_BUILD1';
} else {
// @codeCoverageIgnoreStart
$rc_start = 'FIREFOX_' . BETA . '_0_BUILD' . (string) ($rc_number - 1);
$rc_end = 'FIREFOX_' . BETA . '_0_BUILD' . (string) ($rc_number);
// @codeCoverageIgnoreEnd
}
$rc_version = (string) BETA . '.0rc' . (string) $rc_number;
// This is what landed on mozilla-beta after the last beta but before the merge and RC1
$hg_end_points[$rc_version] =
'releases/mozilla-release/json-pushes?fromchange='
. $rc_start
. '&tochange='
. $rc_end
. '&full&version=2';
}
}
return $hg_end_points;
}