Bug 1836078 - Update gecko taskgraph to support ESR115 r=releng-reviewers,taskgraph-reviewers,jcristau

Differential Revision: https://phabricator.services.mozilla.com/D180026
This commit is contained in:
Heitor Neiva 2023-06-09 20:58:21 +00:00
parent b0c4622bd0
commit b74ee2c8b9
20 changed files with 93 additions and 16 deletions

View file

@ -132,6 +132,7 @@ jobs:
- mozilla-beta - mozilla-beta
- mozilla-release - mozilla-release
- mozilla-esr102 - mozilla-esr102
- mozilla-esr115
- elm - elm
# For all non m-c jobs we just run once daily matching the 10 UTC # For all non m-c jobs we just run once daily matching the 10 UTC
# nightly which is designed to align with searchfox's AWS cron # nightly which is designed to align with searchfox's AWS cron
@ -205,6 +206,7 @@ jobs:
- mozilla-beta - mozilla-beta
- mozilla-release - mozilla-release
- mozilla-esr102 - mozilla-esr102
- mozilla-esr115
when: when:
by-project: by-project:
# No default branch # No default branch
@ -220,6 +222,7 @@ jobs:
mozilla-esr102: mozilla-esr102:
- {hour: 7, minute: 0} - {hour: 7, minute: 0}
- {hour: 19, minute: 0} - {hour: 19, minute: 0}
mozilla-esr115: []
- name: periodic-update - name: periodic-update
job: job:
@ -231,6 +234,7 @@ jobs:
- mozilla-beta - mozilla-beta
- mozilla-release - mozilla-release
- mozilla-esr102 - mozilla-esr102
- mozilla-esr115
when: when:
- {weekday: 'Monday', hour: 8, minute: 0} - {weekday: 'Monday', hour: 8, minute: 0}
- {weekday: 'Thursday', hour: 8, minute: 0} - {weekday: 'Thursday', hour: 8, minute: 0}

View file

@ -101,6 +101,7 @@ class ArtifactJob(object):
# The list below list should be updated when we have new ESRs. # The list below list should be updated when we have new ESRs.
esr_candidate_trees = [ esr_candidate_trees = [
"releases/mozilla-esr102", "releases/mozilla-esr102",
"releases/mozilla-esr115",
] ]
try_tree = "try" try_tree = "try"

View file

@ -496,7 +496,11 @@ linux/opt:
script: "mozharness/scripts/fx_desktop_build.py" script: "mozharness/scripts/fx_desktop_build.py"
secrets: true secrets: true
tooltool-downloads: public tooltool-downloads: public
run-on-projects: ['mozilla-beta', 'mozilla-release', 'mozilla-esr102'] run-on-projects:
- 'mozilla-beta'
- 'mozilla-release'
- 'mozilla-esr102'
- 'mozilla-esr115'
use-sccache: true use-sccache: true
fetches: fetches:
toolchain: toolchain:

View file

@ -32,7 +32,10 @@ win32-mingwclang/opt:
- builds/releng_base_windows_32_mingw_builds.py - builds/releng_base_windows_32_mingw_builds.py
- builds/releng_sub_windows_configs/32_mingwclang.py - builds/releng_sub_windows_configs/32_mingwclang.py
mozconfig-variant: mingwclang mozconfig-variant: mingwclang
run-on-projects: ['mozilla-central', 'mozilla-esr102'] run-on-projects:
- 'mozilla-central'
- 'mozilla-esr102'
- 'mozilla-esr115'
use-sccache: true use-sccache: true
fetches: fetches:
toolchain: toolchain:
@ -69,7 +72,10 @@ win32-mingwclang/debug:
- builds/releng_base_windows_32_mingw_builds.py - builds/releng_base_windows_32_mingw_builds.py
- builds/releng_sub_windows_configs/32_mingwclang.py - builds/releng_sub_windows_configs/32_mingwclang.py
mozconfig-variant: mingwclang-debug mozconfig-variant: mingwclang-debug
run-on-projects: ['mozilla-central', 'mozilla-esr102'] run-on-projects:
- 'mozilla-central'
- 'mozilla-esr102'
- 'mozilla-esr115'
use-sccache: true use-sccache: true
fetches: fetches:
toolchain: toolchain:
@ -106,7 +112,10 @@ win64-mingwclang/opt:
- builds/releng_base_windows_64_mingw_builds.py - builds/releng_base_windows_64_mingw_builds.py
- builds/releng_sub_windows_configs/64_mingwclang.py - builds/releng_sub_windows_configs/64_mingwclang.py
mozconfig-variant: mingwclang mozconfig-variant: mingwclang
run-on-projects: ['mozilla-central', 'mozilla-esr102'] run-on-projects:
- 'mozilla-central'
- 'mozilla-esr102'
- 'mozilla-esr115'
use-sccache: true use-sccache: true
fetches: fetches:
toolchain: toolchain:
@ -143,7 +152,10 @@ win64-mingwclang/debug:
- builds/releng_base_windows_64_mingw_builds.py - builds/releng_base_windows_64_mingw_builds.py
- builds/releng_sub_windows_configs/64_mingwclang.py - builds/releng_sub_windows_configs/64_mingwclang.py
mozconfig-variant: mingwclang-debug mozconfig-variant: mingwclang-debug
run-on-projects: ['mozilla-central', 'mozilla-esr102'] run-on-projects:
- 'mozilla-central'
- 'mozilla-esr102'
- 'mozilla-esr115'
use-sccache: true use-sccache: true
fetches: fetches:
toolchain: toolchain:

View file

@ -378,8 +378,8 @@ merge-automation:
replacements: [] replacements: []
merge-old-head: false merge-old-head: false
end-tag: "FIREFOX_ESR_{major_version}_BASE" end-tag: "FIREFOX_ESR_{major_version}_BASE"
to-repo: 'https://hg.mozilla.org/releases/mozilla-esr102' to-repo: 'https://hg.mozilla.org/releases/mozilla-esr115'
to-branch: 'esr102' to-branch: 'esr115'
bump-central: bump-central:
fetch-version-from: "browser/config/version.txt" fetch-version-from: "browser/config/version.txt"
version-files: version-files:
@ -413,6 +413,19 @@ merge-automation:
merge-old-head: false merge-old-head: false
to-repo: 'https://hg.mozilla.org/releases/mozilla-esr102' to-repo: 'https://hg.mozilla.org/releases/mozilla-esr102'
to-branch: 'esr102' to-branch: 'esr102'
bump-esr115:
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-esr115'
to-branch: 'esr115'
scriptworker: scriptworker:
# See additional configuration in taskcluster/gecko_taskgraph/util/scriptworker.py # See additional configuration in taskcluster/gecko_taskgraph/util/scriptworker.py

View file

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

View file

@ -35,12 +35,14 @@ jobs:
beta: [32] beta: [32]
release: [145] release: [145]
esr102: [17770] esr102: [17770]
esr115: [17824]
default: [] default: []
staging: staging:
by-release-type: by-release-type:
beta: [32] beta: [32]
release: [145] release: [145]
esr102: [902] esr102: [902]
esr115: [909]
default: [] default: []
background-rate: background-rate:
by-release-type: by-release-type:

View file

@ -47,6 +47,7 @@ jobs:
beta: ["firefox-beta-cdntest", "firefox-beta-localtest"] beta: ["firefox-beta-cdntest", "firefox-beta-localtest"]
release(-rc)?: ["firefox-release-cdntest", "firefox-release-localtest"] release(-rc)?: ["firefox-release-cdntest", "firefox-release-localtest"]
esr102: ["firefox-esr102-cdntest", "firefox-esr102-localtest"] esr102: ["firefox-esr102-cdntest", "firefox-esr102-localtest"]
esr115: ["firefox-esr115-cdntest", "firefox-esr115-localtest"]
default: [] default: []
pin-channels: pin-channels:
by-release-type: by-release-type:

View file

@ -73,8 +73,7 @@ jobs:
firefox-esr-msix-latest-ssl: msix firefox-esr-msix-latest-ssl: msix
firefox-esr-pkg-latest-ssl: pkg firefox-esr-pkg-latest-ssl: pkg
firefox-esr-langpack-latest-ssl: langpack firefox-esr-langpack-latest-ssl: langpack
esrXXX: # XXX - to update when we branch next ESR esr115:
# ... these point to the newer branch
firefox-esr-next-latest-ssl: installer-ssl firefox-esr-next-latest-ssl: installer-ssl
firefox-esr-next-latest: installer firefox-esr-next-latest: installer
firefox-esr-next-msi-latest-ssl: msi firefox-esr-next-msi-latest-ssl: msi

View file

@ -43,7 +43,7 @@ jobs:
bouncer-products: bouncer-products:
by-release-type: by-release-type:
default: ['complete-mar', 'installer', 'installer-ssl', 'partial-mar', 'stub-installer', 'msi', 'msix', 'pkg', 'langpack'] default: ['complete-mar', 'installer', 'installer-ssl', 'partial-mar', 'stub-installer', 'msi', 'msix', 'pkg', 'langpack']
esr102: ['complete-mar', 'installer', 'installer-ssl', 'partial-mar', 'msi', 'msix', 'pkg', 'langpack'] esr.*: ['complete-mar', 'installer', 'installer-ssl', 'partial-mar', 'msi', 'msix', 'pkg', 'langpack']
shipping-product: firefox shipping-product: firefox
treeherder: treeherder:
platform: firefox-release/opt platform: firefox-release/opt

View file

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

View file

@ -54,6 +54,7 @@ job-defaults:
beta: "72.0" beta: "72.0"
release(-rc)?: "72.0.2" release(-rc)?: "72.0.2"
esr102: "68.0esr" esr102: "68.0esr"
esr115: "68.0esr"
default: "default" default: "default"
jobs: jobs:

View file

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

View file

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

View file

@ -96,6 +96,10 @@ PER_PROJECT_PARAMETERS = {
"target_tasks_method": "mozilla_esr102_tasks", "target_tasks_method": "mozilla_esr102_tasks",
"release_type": "esr102", "release_type": "esr102",
}, },
"mozilla-esr115": {
"target_tasks_method": "mozilla_esr115_tasks",
"release_type": "esr115",
},
"pine": { "pine": {
"target_tasks_method": "pine_tasks", "target_tasks_method": "pine_tasks",
}, },

View file

@ -558,6 +558,30 @@ def target_tasks_mozilla_esr102(full_task_graph, parameters, graph_config):
return [l for l, t in full_task_graph.tasks.items() if filter(t)] return [l for l, t in full_task_graph.tasks.items() if filter(t)]
@_target_task("mozilla_esr115_tasks")
def target_tasks_mozilla_esr115(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 esr115.
if platform and "android" in platform:
return False
return True
return [l for l, t in full_task_graph.tasks.items() if filter(t)]
@_target_task("promote_desktop") @_target_task("promote_desktop")
def target_tasks_promote_desktop(full_task_graph, parameters, graph_config): def target_tasks_promote_desktop(full_task_graph, parameters, graph_config):
"""Select the superset of tasks required to promote a beta or release build """Select the superset of tasks required to promote a beta or release build
@ -1144,6 +1168,7 @@ def target_tasks_release_simulation(full_task_graph, parameters, graph_config):
"beta": "mozilla-beta", "beta": "mozilla-beta",
"release": "mozilla-release", "release": "mozilla-release",
"esr102": "mozilla-esr102", "esr102": "mozilla-esr102",
"esr115": "mozilla-esr115",
} }
target_project = project_by_release.get(parameters["release_type"]) target_project = project_by_release.get(parameters["release_type"])
if target_project is None: if target_project is None:

View file

@ -28,7 +28,7 @@ INCLUDE_VERSION_REGEXES = {
# Same as nonbeta, except for the esr suffix # Same as nonbeta, except for the esr suffix
"esr": r"'^\d+\.\d+(\.\d+)?esr$'", "esr": r"'^\d+\.\d+(\.\d+)?esr$'",
# Previous esr versions, for update testing before we update users to esr102 # Previous esr versions, for update testing before we update users to esr102
"esr102-next": r"'^(52|60|68|78|91)+\.\d+(\.\d+)?esr$'", "esr115-next": r"'^(52|60|68|78|91|102)+\.\d+(\.\d+)?esr$'",
} }
MAR_CHANNEL_ID_OVERRIDE_REGEXES = { MAR_CHANNEL_ID_OVERRIDE_REGEXES = {

View file

@ -16,6 +16,7 @@ RELEASE_PROJECTS = {
"mozilla-beta", "mozilla-beta",
"mozilla-release", "mozilla-release",
"mozilla-esr102", "mozilla-esr102",
"mozilla-esr115",
"comm-central", "comm-central",
"comm-beta", "comm-beta",
"comm-esr102", "comm-esr102",

View file

@ -59,6 +59,7 @@ SIGNING_SCOPE_ALIAS_TO_PROJECT = [
"mozilla-beta", "mozilla-beta",
"mozilla-release", "mozilla-release",
"mozilla-esr102", "mozilla-esr102",
"mozilla-esr115",
"comm-beta", "comm-beta",
"comm-esr102", "comm-esr102",
}, },
@ -104,6 +105,7 @@ BEETMOVER_SCOPE_ALIAS_TO_PROJECT = [
"mozilla-beta", "mozilla-beta",
"mozilla-release", "mozilla-release",
"mozilla-esr102", "mozilla-esr102",
"mozilla-esr115",
"comm-beta", "comm-beta",
"comm-esr102", "comm-esr102",
}, },
@ -184,6 +186,12 @@ BALROG_SCOPE_ALIAS_TO_PROJECT = [
"mozilla-esr102", "mozilla-esr102",
}, },
], ],
[
"esr115",
{
"mozilla-esr115",
},
],
] ]
"""Map the balrog scope aliases to the actual scopes. """Map the balrog scope aliases to the actual scopes.
@ -194,6 +202,7 @@ BALROG_SERVER_SCOPES = {
"beta": "balrog:server:beta", "beta": "balrog:server:beta",
"release": "balrog:server:release", "release": "balrog:server:release",
"esr102": "balrog:server:esr", "esr102": "balrog:server:esr",
"esr115": "balrog:server:esr",
"default": "balrog:server:dep", "default": "balrog:server:dep",
} }

View file

@ -92,6 +92,7 @@ def taskcluster_url(logger, commits):
"mozilla-central": "mozilla-central", "mozilla-central": "mozilla-central",
"integration/autoland": "autoland", "integration/autoland": "autoland",
"releases/mozilla-esr102": "mozilla-esr102", "releases/mozilla-esr102": "mozilla-esr102",
"releases/mozilla-esr115": "mozilla-esr115",
} }
cset_url = ( cset_url = (
"https://hg.mozilla.org/{repo}/json-pushes?" "https://hg.mozilla.org/{repo}/json-pushes?"