Bug 1717540 - Add esr91 support. r=releng-reviewers,taskgraph-reviewers,aki

Differential Revision: https://phabricator.services.mozilla.com/D119521
This commit is contained in:
Julien Cristau 2021-07-13 10:17:48 +00:00
Родитель 829145a951
Коммит 3a66c9fb13
20 изменённых файлов: 88 добавлений и 18 удалений

Просмотреть файл

@ -121,6 +121,7 @@ jobs:
- mozilla-beta
- mozilla-release
- mozilla-esr78
- mozilla-esr91
when:
by-project:
# We want to run at both of the times the nightly runs.
@ -140,6 +141,7 @@ jobs:
mozilla-beta: [{hour: 10, minute: 0}]
mozilla-release: [{hour: 10, minute: 0}]
mozilla-esr78: [{hour: 10, minute: 0}]
mozilla-esr91: [{hour: 10, minute: 0}]
- name: coverity-tree-analysis
job:
@ -208,6 +210,7 @@ jobs:
- mozilla-beta
- mozilla-release
- mozilla-esr78
- mozilla-esr91
when:
by-project:
# No default branch
@ -223,6 +226,9 @@ jobs:
mozilla-esr78:
- {hour: 7, minute: 0}
- {hour: 19, minute: 0}
mozilla-esr91:
- {hour: 7, minute: 0}
- {hour: 19, minute: 0}
- name: periodic-update
job:
@ -234,6 +240,7 @@ jobs:
- mozilla-beta
- mozilla-release
- mozilla-esr78
- mozilla-esr91
when:
- {weekday: 'Monday', hour: 8, minute: 0}
- {weekday: 'Thursday', hour: 8, minute: 0}

Просмотреть файл

@ -498,7 +498,7 @@ linux/opt:
secrets: true
tooltool-downloads: public
need-xvfb: true
run-on-projects: ['mozilla-beta', 'mozilla-release', 'mozilla-esr78']
run-on-projects: ['mozilla-beta', 'mozilla-release', 'mozilla-esr78', 'mozilla-esr91']
use-sccache: true
fetches:
toolchain:

Просмотреть файл

@ -34,7 +34,7 @@ win32-mingwclang/opt:
- builds/releng_base_windows_32_mingw_builds.py
- builds/releng_sub_windows_configs/32_mingwclang.py
mozconfig-variant: mingwclang
run-on-projects: ['mozilla-central', 'mozilla-esr78']
run-on-projects: ['mozilla-central', 'mozilla-esr78', 'mozilla-esr91']
use-sccache: true
fetches:
toolchain:
@ -69,7 +69,7 @@ win32-mingwclang/debug:
- builds/releng_base_windows_32_mingw_builds.py
- builds/releng_sub_windows_configs/32_mingwclang.py
mozconfig-variant: mingwclang-debug
run-on-projects: ['mozilla-central', 'mozilla-esr78']
run-on-projects: ['mozilla-central', 'mozilla-esr78', 'mozilla-esr91']
use-sccache: true
fetches:
toolchain:
@ -104,7 +104,7 @@ win64-mingwclang/opt:
- builds/releng_base_windows_64_mingw_builds.py
- builds/releng_sub_windows_configs/64_mingwclang.py
mozconfig-variant: mingwclang
run-on-projects: ['mozilla-central', 'mozilla-esr78']
run-on-projects: ['mozilla-central', 'mozilla-esr78', 'mozilla-esr91']
use-sccache: true
fetches:
toolchain:
@ -139,7 +139,7 @@ win64-mingwclang/debug:
- builds/releng_base_windows_64_mingw_builds.py
- builds/releng_sub_windows_configs/64_mingwclang.py
mozconfig-variant: mingwclang-debug
run-on-projects: ['mozilla-central', 'mozilla-esr78']
run-on-projects: ['mozilla-central', 'mozilla-esr78', 'mozilla-esr91']
use-sccache: true
fetches:
toolchain:

Просмотреть файл

@ -321,8 +321,8 @@ merge-automation:
base-tag: "FIREFOX_ESR_{major_version}_BASE"
from-repo: 'https://hg.mozilla.org/releases/mozilla-release'
from-branch: 'release'
to-repo: 'https://hg.mozilla.org/releases/mozilla-esr78'
to-branch: 'esr78'
to-repo: 'https://hg.mozilla.org/releases/mozilla-esr91'
to-branch: 'esr91'
bump-central:
fetch-version-from: "browser/config/version.txt"
version-files:
@ -359,6 +359,19 @@ merge-automation:
merge-old-head: false
to-repo: 'https://hg.mozilla.org/releases/mozilla-esr78'
to-branch: 'esr78'
bump-esr91:
fetch-version-from: "browser/config/version.txt"
version-files:
- filename: "config/milestone.txt"
version-bump: "minor"
- filename: "browser/config/version.txt"
version-bump: "minor"
- filename: "browser/config/version_display.txt"
version-bump: "minor"
replacements: []
merge-old-head: false
to-repo: 'https://hg.mozilla.org/releases/mozilla-esr91'
to-branch: 'esr91'
scriptworker:
# See additional configuration in taskcluster/taskgraph/util/scriptworker.py

Просмотреть файл

@ -54,7 +54,7 @@ jobs:
mozilla-beta: LATEST_FIREFOX_RELEASED_DEVEL_VERSION
mozilla-release: LATEST_FIREFOX_VERSION
mozilla-esr78: FIREFOX_ESR
# mozilla-esrXX: FIREFOX_ESR_NEXT
mozilla-esr91: FIREFOX_ESR_NEXT
default: LATEST_FIREFOX_DEVEL_VERSION
products-url: https://product-details.mozilla.org/1.0/firefox_versions.json
treeherder:

Просмотреть файл

@ -36,12 +36,14 @@ jobs:
beta: [32]
release: [145]
esr78: [3820]
esr91: [17638]
default: []
staging:
by-release-type:
beta: [32]
release: [145]
esr78: [887]
esr91: [889]
default: []
background-rate:
by-release-type:

Просмотреть файл

@ -47,6 +47,7 @@ jobs:
beta: ["firefox-beta-cdntest", "firefox-beta-localtest"]
release(-rc)?: ["firefox-release-cdntest", "firefox-release-localtest"]
esr78: ["firefox-esr78-cdntest", "firefox-esr78-localtest"]
esr91: ["firefox-esr91-cdntest", "firefox-esr91-localtest"]
default: []
platforms: ["linux", "linux64", "macosx64", "win32", "win64", "win64-aarch64"]
treeherder:

Просмотреть файл

@ -66,7 +66,7 @@ jobs:
firefox-esr-latest: installer
firefox-esr-msi-latest-ssl: msi
firefox-esr-pkg-latest-ssl: pkg
# mozilla-esrXX: XXX - to uncomment when we branch next ESR
mozilla-esr91:
# ... these point to the newer branch
firefox-esr-next-latest-ssl: installer-ssl
firefox-esr-next-latest: installer

Просмотреть файл

@ -44,6 +44,7 @@ jobs:
by-release-type:
default: ['complete-mar', 'installer', 'installer-ssl', 'partial-mar', 'stub-installer', 'msi', 'pkg']
esr78: ['complete-mar', 'installer', 'installer-ssl', 'partial-mar', 'msi', 'pkg']
esr91: ['complete-mar', 'installer', 'installer-ssl', 'partial-mar', 'msi', 'pkg']
shipping-product: firefox
treeherder:
platform: firefox-release/opt

Просмотреть файл

@ -31,7 +31,7 @@ job-defaults:
beta: beta
release: candidate
esr78: esr/stable
# esrXX: esr/candidate
esr91: esr/candidate
default: mock
jobs:

Просмотреть файл

@ -13,7 +13,7 @@ transforms:
job-defaults:
name: update-verify-config-next
run-on-projects: [] # to make sure this never runs as part of CI
run-on-releases: [esr78]
run-on-releases: [esr78, esr91]
shipping-phase: promote
worker-type: b-linux
worker:
@ -52,7 +52,7 @@ job-defaults:
updater-platform: linux-x86_64
product: firefox
channel: "esr-localtest-next"
include-version: esr78-next
include-version: esr91-next
last-watershed: "68.0esr"
jobs:

Просмотреть файл

@ -62,6 +62,7 @@ job-defaults:
default: "56.0b3"
release(-rc)?: "72.0.2"
esr78: "68.0esr"
esr91: "91.0esr"
default: "default"
jobs:

Просмотреть файл

@ -20,7 +20,7 @@ transforms:
job-defaults:
name: update-verify-next
run-on-projects: [] # to make sure this never runs as part of CI
run-on-releases: [esr78]
run-on-releases: [esr78, esr91]
shipping-phase: promote
worker-type: b-linux
worker:

Просмотреть файл

@ -46,6 +46,7 @@ Project names are the repositories. They can be:
* `mozilla-beta`
* `mozilla-release`
* `mozilla-esr78`
* `mozilla-esr91`
* ... A partial list can be found in taskcluster/taskgraph/util/attributes.py
For try, this attribute applies only if ``-p all`` is specified. All jobs can
@ -437,4 +438,4 @@ particular the Windows aarch64 builds are not marked this way.
supports-artifact-builds
========================
If false, the task requires a compiled build and will not work with artifact builds.
If false, the task requires a compiled build and will not work with artifact builds.

Просмотреть файл

@ -173,7 +173,7 @@ Release Promotion
Specify the next version for version bump tasks.
``release_type``
The type of release being promoted. One of "nightly", "beta", "esr78", "release-rc", or "release".
The type of release being promoted. One of "nightly", "beta", "esr78", "esr91", "release-rc", or "release".
``release_eta``
The time and date when a release is scheduled to live. This value is passed to Balrog.

Просмотреть файл

@ -84,6 +84,10 @@ PER_PROJECT_PARAMETERS = {
"target_tasks_method": "mozilla_esr78_tasks",
"release_type": "esr78",
},
"mozilla-esr91": {
"target_tasks_method": "mozilla_esr91_tasks",
"release_type": "esr91",
},
"pine": {
"target_tasks_method": "pine_tasks",
},

Просмотреть файл

@ -554,7 +554,7 @@ def target_tasks_mozilla_release(full_task_graph, parameters, graph_config):
@_target_task("mozilla_esr78_tasks")
def target_tasks_mozilla_esr78(full_task_graph, parameters, graph_config):
"""Select the set of tasks required for a promotable beta or release build
of desktop, plus android CI. The candidates build process involves a pipeline
of desktop, without android CI. The candidates build process involves a pipeline
of builds and signing, but does not include beetmover or balrog jobs."""
def filter(task):
@ -581,6 +581,30 @@ def target_tasks_mozilla_esr78(full_task_graph, parameters, graph_config):
return [l for l, t in six.iteritems(full_task_graph.tasks) if filter(t)]
@_target_task("mozilla_esr91_tasks")
def target_tasks_mozilla_esr91(full_task_graph, parameters, graph_config):
"""Select the set of tasks required for a promotable beta or release build
of desktop, without android CI. The candidates build process involves a pipeline
of builds and signing, but does not include beetmover or balrog jobs."""
def filter(task):
if not filter_release_tasks(task, parameters):
return False
if not standard_filter(task, parameters):
return False
platform = task.attributes.get("build_platform")
# Android is not built on esr91.
if platform and "android" in platform:
return False
return True
return [l for l, t in six.iteritems(full_task_graph.tasks) if filter(t)]
@_target_task("promote_desktop")
def target_tasks_promote_desktop(full_task_graph, parameters, graph_config):
"""Select the superset of tasks required to promote a beta or release build

Просмотреть файл

@ -33,8 +33,8 @@ INCLUDE_VERSION_REGEXES = {
"devedition_hack": r"'^((?!58\.0b1$)\d+\.\d+(b\d+)?)$'",
# Same as nonbeta, except for the esr suffix
"esr": r"'^\d+\.\d+(\.\d+)?esr$'",
# Previous esr versions, for update testing before we update users to esr78
"esr78-next": r"'^(52|60|68)+\.\d+(\.\d+)?esr$'",
# Previous esr versions, for update testing before we update users to esr91
"esr91-next": r"'^(52|60|68|78)+\.\d+(\.\d+)?esr$'",
}
MAR_CHANNEL_ID_OVERRIDE_REGEXES = {

Просмотреть файл

@ -20,9 +20,11 @@ RELEASE_PROJECTS = {
"mozilla-beta",
"mozilla-release",
"mozilla-esr78",
"mozilla-esr91",
"comm-central",
"comm-beta",
"comm-esr78",
"comm-esr91",
"oak",
}

Просмотреть файл

@ -65,8 +65,10 @@ SIGNING_SCOPE_ALIAS_TO_PROJECT = [
"mozilla-beta",
"mozilla-release",
"mozilla-esr78",
"mozilla-esr91",
"comm-beta",
"comm-esr78",
"comm-esr91",
]
),
],
@ -116,8 +118,10 @@ BEETMOVER_SCOPE_ALIAS_TO_PROJECT = [
"mozilla-beta",
"mozilla-release",
"mozilla-esr78",
"mozilla-esr91",
"comm-beta",
"comm-esr78",
"comm-esr91",
]
),
],
@ -179,6 +183,7 @@ BALROG_SCOPE_ALIAS_TO_PROJECT = [
[
"mozilla-release",
"comm-esr78",
"comm-esr91",
]
),
],
@ -190,6 +195,14 @@ BALROG_SCOPE_ALIAS_TO_PROJECT = [
]
),
],
[
"esr91",
set(
[
"mozilla-esr91",
]
),
],
]
"""Map the balrog scope aliases to the actual scopes.
@ -200,6 +213,7 @@ BALROG_SERVER_SCOPES = {
"beta": "balrog:server:beta",
"release": "balrog:server:release",
"esr78": "balrog:server:esr",
"esr91": "balrog:server:esr",
"default": "balrog:server:dep",
}