Bug 1964662 - Add esr140 support to gecko taskgraph. r=releng-reviewers,taskgraph-reviewers,hneiva,jcristau

Differential Revision: https://phabricator.services.mozilla.com/D248407
This commit is contained in:
Bastien Orivel
2025-05-19 14:23:46 +00:00
committed by borivel@mozilla.com
parent 6147a56d20
commit 7173b14da9
25 changed files with 64 additions and 40 deletions

View File

@@ -180,7 +180,7 @@ jobs:
run-on-projects:
- mozilla-beta
- mozilla-release
- mozilla-esr128
- mozilla-esr140
- elm
- cypress
# For all non m-c jobs we just run once daily matching the 10 UTC
@@ -235,7 +235,7 @@ jobs:
- mozilla-central
- mozilla-beta
- mozilla-release
- mozilla-esr128
- mozilla-esr140
when:
by-project:
# No default branch
@@ -248,9 +248,8 @@ jobs:
mozilla-release:
- {hour: 7, minute: 0}
- {hour: 19, minute: 0}
mozilla-esr128:
- {hour: 7, minute: 0}
- {hour: 19, minute: 0}
# Bug 1965205: Enable this after esr140 got a release
mozilla-esr140: []
- name: periodic-update
job:
@@ -261,7 +260,8 @@ jobs:
- mozilla-central
- mozilla-beta
- mozilla-release
- mozilla-esr128
# Bug 1965206: Enable this once esr140 has branched off of release
# - mozilla-esr140
when:
- {weekday: 'Monday', hour: 8, minute: 0}
- {weekday: 'Thursday', hour: 8, minute: 0}

View File

@@ -102,6 +102,7 @@ class ArtifactJob:
esr_candidate_trees = [
"releases/mozilla-esr115",
"releases/mozilla-esr128",
"releases/mozilla-esr140",
]
try_tree = "try"
@@ -864,6 +865,7 @@ class ThunderbirdMixin:
esr_candidate_trees = [
"releases/comm-esr115",
"releases/comm-esr128",
"releases/comm-esr140",
]

View File

@@ -536,10 +536,10 @@ merge-automation:
replacements:
- - .arcconfig
- FIREFOXRELEASE
- FIREFOXESRONETWOEIGHT
- FIREFOXESRONEFOURZERO
merge-old-head: false
end-tag: "FIREFOX_ESR_{major_version}_BASE"
to-branch: 'esr128'
to-branch: 'esr140'
bump-central:
fetch-version-from: "browser/config/version.txt"
version-files:
@@ -569,7 +569,7 @@ merge-automation:
merge-old-head: false
end-tag: 'FIREFOX_NIGHTLY_{major_version}_END'
to-branch: 'main'
bump-esr128:
bump-esr140:
fetch-version-from: "browser/config/version.txt"
version-files:
- filename: "config/milestone.txt"
@@ -581,7 +581,7 @@ merge-automation:
new-suffix: "esr"
replacements: []
merge-old-head: false
to-branch: 'esr128'
to-branch: 'esr140'
scriptworker:
# See additional configuration in taskcluster/gecko_taskgraph/util/scriptworker.py

View File

@@ -45,7 +45,7 @@ Project names are the repositories. They can be:
* `mozilla-central`
* `mozilla-beta`
* `mozilla-release`
* `mozilla-esr128`
* `mozilla-esr140`
* ... A partial list can be found in taskcluster/gecko_taskgraph/util/attributes.py
For try, this attribute applies only if ``-p all`` is specified. All jobs can

View File

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

View File

@@ -96,9 +96,9 @@ PER_PROJECT_PARAMETERS = {
"target_tasks_method": "mozilla_release_tasks",
"release_type": "release",
},
"mozilla-esr128": {
"target_tasks_method": "mozilla_esr128_tasks",
"release_type": "esr128",
"mozilla-esr140": {
"target_tasks_method": "mozilla_esr140_tasks",
"release_type": "esr140",
},
"pine": {
"target_tasks_method": "pine_tasks",

View File

@@ -546,8 +546,8 @@ def target_tasks_mozilla_release(full_task_graph, parameters, graph_config):
]
@register_target_task("mozilla_esr128_tasks")
def target_tasks_mozilla_esr128(full_task_graph, parameters, graph_config):
@register_target_task("mozilla_esr140_tasks")
def target_tasks_mozilla_esr140(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."""
@@ -1256,7 +1256,7 @@ def _filter_by_release_project(parameters):
"nightly": "mozilla-central",
"beta": "mozilla-beta",
"release": "mozilla-release",
"esr128": "mozilla-esr128",
"esr140": "mozilla-esr140",
}
target_project = project_by_release.get(parameters["release_type"])
if target_project is None:

View File

@@ -27,8 +27,8 @@ INCLUDE_VERSION_REGEXES = {
"nonbeta": r"'^\d+\.\d+(\.\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 esr128
"esr128-next": r"'^(52|60|68|78|91|102|115)+\.\d+(\.\d+)?esr$'",
# Previous esr versions, for update testing before we update users to esr140
"esr140-next": r"'^(52|60|68|78|91|102|115|128)+\.\d+(\.\d+)?esr$'",
}
MAR_CHANNEL_ID_OVERRIDE_REGEXES = {

View File

@@ -17,11 +17,13 @@ RELEASE_PROJECTS = {
"mozilla-release",
"mozilla-esr115",
"mozilla-esr128",
"mozilla-esr140",
"comm-central",
"comm-beta",
"comm-release",
"comm-esr115",
"comm-esr128",
"comm-esr140",
# bug 1845368: pine is a permanent project branch used for testing
# nightly updates
"pine",

View File

@@ -66,10 +66,12 @@ SIGNING_SCOPE_ALIAS_TO_PROJECT = [
"mozilla-release",
"mozilla-esr115",
"mozilla-esr128",
"mozilla-esr140",
"comm-beta",
"comm-release",
"comm-esr115",
"comm-esr128",
"comm-esr140",
},
],
]
@@ -118,10 +120,12 @@ BEETMOVER_SCOPE_ALIAS_TO_PROJECT = [
"mozilla-release",
"mozilla-esr115",
"mozilla-esr128",
"mozilla-esr140",
"comm-beta",
"comm-release",
"comm-esr115",
"comm-esr128",
"comm-esr140",
},
],
]
@@ -216,6 +220,13 @@ BALROG_SCOPE_ALIAS_TO_PROJECT = [
"comm-esr128",
},
],
[
"esr140",
{
"mozilla-esr140",
"comm-esr140",
},
],
]
"""Map the balrog scope aliases to the actual scopes.
@@ -227,6 +238,7 @@ BALROG_SERVER_SCOPES = {
"release": "balrog:server:release",
"esr115": "balrog:server:esr",
"esr128": "balrog:server:esr",
"esr140": "balrog:server:esr",
"default": "balrog:server:dep",
}

View File

@@ -29,4 +29,4 @@ tasks:
- nightly
- beta
- release
- esr128
- esr140

View File

@@ -541,7 +541,7 @@ linux/opt:
run-on-projects:
- 'mozilla-beta'
- 'mozilla-release'
- 'mozilla-esr128'
- 'mozilla-esr140'
use-sccache: true
fetches:
toolchain:

View File

@@ -37,7 +37,7 @@ win32-mingwclang/opt:
mozconfig-variant: mingwclang
run-on-projects:
- 'mozilla-central'
- 'mozilla-esr128'
- 'mozilla-esr140'
use-sccache: true
fetches:
toolchain:
@@ -76,7 +76,7 @@ win32-mingwclang/debug:
mozconfig-variant: mingwclang-debug
run-on-projects:
- 'mozilla-central'
- 'mozilla-esr128'
- 'mozilla-esr140'
use-sccache: true
fetches:
toolchain:
@@ -115,7 +115,7 @@ win64-mingwclang/opt:
mozconfig-variant: mingwclang
run-on-projects:
- 'mozilla-central'
- 'mozilla-esr128'
- 'mozilla-esr140'
use-sccache: true
fetches:
toolchain:
@@ -154,7 +154,7 @@ win64-mingwclang/debug:
mozconfig-variant: mingwclang-debug
run-on-projects:
- 'mozilla-central'
- 'mozilla-esr128'
- 'mozilla-esr140'
use-sccache: true
fetches:
toolchain:

View File

@@ -53,7 +53,7 @@ tasks:
mozilla-central: FIREFOX_NIGHTLY
mozilla-beta: LATEST_FIREFOX_RELEASED_DEVEL_VERSION
mozilla-release: LATEST_FIREFOX_VERSION
mozilla-esr128: FIREFOX_ESR_NEXT
mozilla-esr140: FIREFOX_ESR_NEXT
default: LATEST_FIREFOX_DEVEL_VERSION
products-url: https://product-details.mozilla.org/1.0/firefox_versions.json
treeherder:

View File

@@ -25,7 +25,7 @@ task-defaults:
mozilla-central: main
mozilla-beta: firefox-beta
mozilla-release: firefox-release
mozilla-esr128: firefox-esr128
mozilla-esr140: firefox-esr140
autoland: firefox-autoland
# change this if you want to test esr bumps against other
# branches on try; there's rarely a need though.

View File

@@ -34,17 +34,17 @@ tasks:
central-to-beta: staging-firefox-beta
early-to-late-beta: staging-firefox-beta
beta-to-release: staging-firefox-release
release-to-esr: staging-firefox-esr128
release-to-esr: staging-firefox-esr140
bump-central: staging-firefox-main
bump-esr128: staging-firefox-esr128
bump-esr140: staging-firefox-esr140
default:
by-behavior:
central-to-beta: firefox-beta
early-to-late-beta: firefox-beta
beta-to-release: firefox-release
release-to-esr: firefox-esr128
release-to-esr: firefox-esr140
bump-central: firefox-main
bump-esr128: firefox-esr128
bump-esr140: firefox-esr140
dontbuild: false
l10n-bump-info:
by-behavior:

View File

@@ -34,13 +34,13 @@ tasks:
by-release-type:
beta: [32]
release: [145]
esr128: [17916]
esr140: [18015]
default: []
staging:
by-release-type:
beta: [32]
release: [145]
esr128: [3085]
esr140: [3090]
default: []
background-rate:
by-release-type:

View File

@@ -46,7 +46,7 @@ tasks:
by-release-type:
beta: ["firefox-beta-cdntest", "firefox-beta-localtest"]
release(-rc)?: ["firefox-release-cdntest", "firefox-release-localtest"]
esr128: ["firefox-esr128-cdntest", "firefox-esr128-localtest"]
esr140: ["firefox-esr140-cdntest", "firefox-esr140-localtest"]
default: []
pin-channels:
by-release-type:

View File

@@ -63,7 +63,7 @@ tasks:
firefox-msix-latest-ssl: msix
firefox-pkg-latest-ssl: pkg
firefox-langpack-latest-ssl: langpack
esr115:
esr128:
# when there is one ESR branch both sets of aliases work
# when there are two ESR branches ...
# ... these always point to the older branch
@@ -73,7 +73,7 @@ tasks:
firefox-esr-msix-latest-ssl: msix
firefox-esr-pkg-latest-ssl: pkg
firefox-esr-langpack-latest-ssl: langpack
esr128:
esr140:
# ... these point to the newer branch
firefox-esr-next-latest-ssl: installer-ssl
firefox-esr-next-latest: installer

View File

@@ -21,6 +21,7 @@ task-defaults:
mozilla-release: firefox-release
mozilla-esr115: firefox-esr115
mozilla-esr128: firefox-esr128
mozilla-esr140: firefox-esr140
try:
by-release-type:
beta: staging-firefox-beta
@@ -28,6 +29,7 @@ task-defaults:
release-rc: staging-firefox-release
esr115: staging-firefox-esr115
esr128: staging-firefox-esr128
esr140: staging-firefox-esr140
default: ""
default: ""
# used to map hg revisions to the git revisions that landoscript needs
@@ -37,6 +39,7 @@ task-defaults:
mozilla-release: https://hg.mozilla.org/releases/mozilla-release
mozilla-esr115: https://hg.mozilla.org/releases/mozilla-esr115
mozilla-esr128: https://hg.mozilla.org/releases/mozilla-esr128
mozilla-esr140: https://hg.mozilla.org/releases/mozilla-esr140
try: https://hg.mozilla.org/try
default: ""

View File

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

View File

@@ -62,6 +62,7 @@ task-defaults:
default: "72.0.2"
esr115: "68.0esr"
esr128: "128.0esr"
esr140: "140.0esr"
default: "default"
tasks:

View File

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

View File

@@ -28,6 +28,7 @@ task-defaults:
mozilla-release: firefox-release
mozilla-esr115: firefox-esr115
mozilla-esr128: firefox-esr128
mozilla-esr140: firefox-esr140
try:
by-release-type:
beta: staging-firefox-beta
@@ -35,6 +36,7 @@ task-defaults:
release-rc: staging-firefox-release
esr115: staging-firefox-esr115
esr128: staging-firefox-esr128
esr140: staging-firefox-esr140
default: ""
default: ""
# used to map hg revisions to the git revisions that landoscript needs
@@ -44,6 +46,7 @@ task-defaults:
mozilla-release: https://hg.mozilla.org/releases/mozilla-release
mozilla-esr115: https://hg.mozilla.org/releases/mozilla-esr115
mozilla-esr128: https://hg.mozilla.org/releases/mozilla-esr128
mozilla-esr140: https://hg.mozilla.org/releases/mozilla-esr140
try: https://hg.mozilla.org/try
default: ""
# We're bumping both desktop and mobile version regardless of which product is getting

View File

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