From 70d682d70fc0626d1923b8aad6dda82bfb2ddecf Mon Sep 17 00:00:00 2001 From: Julien Cristau Date: Wed, 29 May 2024 16:00:50 +0000 Subject: [PATCH] Bug 1899174 - add esr128 support to gecko taskgraph. r=taskgraph-reviewers,releng-reviewers,hneiva Differential Revision: https://phabricator.services.mozilla.com/D211758 --- .cron.yml | 10 ++++------ python/mozbuild/mozbuild/artifacts.py | 2 ++ taskcluster/config.yml | 10 +++++----- taskcluster/docs/attributes.rst | 2 +- taskcluster/docs/parameters.rst | 2 +- taskcluster/gecko_taskgraph/decision.py | 6 +++--- taskcluster/gecko_taskgraph/target_tasks.py | 8 ++++---- .../transforms/update_verify_config.py | 4 ++-- taskcluster/gecko_taskgraph/util/attributes.py | 2 ++ taskcluster/gecko_taskgraph/util/scriptworker.py | 12 ++++++++++++ taskcluster/kinds/build/linux.yml | 2 +- taskcluster/kinds/build/windows-mingw.yml | 8 ++++---- taskcluster/kinds/cron-bouncer-check/kind.yml | 3 +-- taskcluster/kinds/release-balrog-scheduling/kind.yml | 4 ++-- .../kinds/release-balrog-submit-toplevel/kind.yml | 2 +- taskcluster/kinds/release-bouncer-aliases/kind.yml | 3 ++- .../kinds/release-update-verify-config-next/kind.yml | 4 ++-- .../kinds/release-update-verify-config/kind.yml | 1 + .../kinds/release-update-verify-next/kind.yml | 2 +- testing/web-platform/manifestdownload.py | 1 + 20 files changed, 52 insertions(+), 36 deletions(-) diff --git a/.cron.yml b/.cron.yml index d8546db00cf9..3786cd1391cd 100644 --- a/.cron.yml +++ b/.cron.yml @@ -140,7 +140,7 @@ jobs: run-on-projects: - mozilla-beta - mozilla-release - - mozilla-esr115 + - mozilla-esr128 - elm # 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 @@ -201,7 +201,7 @@ jobs: - mozilla-central - mozilla-beta - mozilla-release - - mozilla-esr115 + - mozilla-esr128 when: by-project: # No default branch @@ -214,9 +214,7 @@ jobs: mozilla-release: - {hour: 7, minute: 0} - {hour: 19, minute: 0} - mozilla-esr115: - - {hour: 7, minute: 0} - - {hour: 19, minute: 0} + mozilla-esr128: [] - name: periodic-update job: @@ -227,7 +225,7 @@ jobs: - mozilla-central - mozilla-beta - mozilla-release - - mozilla-esr115 + - mozilla-esr128 when: - {weekday: 'Monday', hour: 8, minute: 0} - {weekday: 'Thursday', hour: 8, minute: 0} diff --git a/python/mozbuild/mozbuild/artifacts.py b/python/mozbuild/mozbuild/artifacts.py index 26ef99b1a27e..a5baf1044343 100644 --- a/python/mozbuild/mozbuild/artifacts.py +++ b/python/mozbuild/mozbuild/artifacts.py @@ -102,6 +102,7 @@ class ArtifactJob(object): # The list below list should be updated when we have new ESRs. esr_candidate_trees = [ "releases/mozilla-esr115", + "releases/mozilla-esr128", ] try_tree = "try" @@ -874,6 +875,7 @@ class ThunderbirdMixin(object): # The list below list should be updated when we have new ESRs. esr_candidate_trees = [ "releases/comm-esr115", + "releases/comm-esr128", ] diff --git a/taskcluster/config.yml b/taskcluster/config.yml index 15d811ca5033..0ebd37d170e1 100644 --- a/taskcluster/config.yml +++ b/taskcluster/config.yml @@ -590,8 +590,8 @@ merge-automation: replacements: [] merge-old-head: false end-tag: "FIREFOX_ESR_{major_version}_BASE" - to-repo: 'https://hg.mozilla.org/releases/mozilla-esr115' - to-branch: 'esr115' + to-repo: 'https://hg.mozilla.org/releases/mozilla-esr128' + to-branch: 'esr128' bump-central: fetch-version-from: "browser/config/version.txt" version-files: @@ -615,7 +615,7 @@ merge-automation: end-tag: 'FIREFOX_NIGHTLY_{major_version}_END' to-repo: 'https://hg.mozilla.org/mozilla-central' to-branch: 'central' - bump-esr115: + bump-esr128: fetch-version-from: "browser/config/version.txt" version-files: - filename: "config/milestone.txt" @@ -626,8 +626,8 @@ merge-automation: version-bump: "minor" replacements: [] merge-old-head: false - to-repo: 'https://hg.mozilla.org/releases/mozilla-esr115' - to-branch: 'esr115' + to-repo: 'https://hg.mozilla.org/releases/mozilla-esr128' + to-branch: 'esr128' scriptworker: # See additional configuration in taskcluster/gecko_taskgraph/util/scriptworker.py diff --git a/taskcluster/docs/attributes.rst b/taskcluster/docs/attributes.rst index aa456a6927ea..e014031303b9 100644 --- a/taskcluster/docs/attributes.rst +++ b/taskcluster/docs/attributes.rst @@ -45,7 +45,7 @@ Project names are the repositories. They can be: * `mozilla-central` * `mozilla-beta` * `mozilla-release` -* `mozilla-esr115` +* `mozilla-esr128` * ... 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 diff --git a/taskcluster/docs/parameters.rst b/taskcluster/docs/parameters.rst index 5c4954f100b0..d45aa69009a2 100644 --- a/taskcluster/docs/parameters.rst +++ b/taskcluster/docs/parameters.rst @@ -200,7 +200,7 @@ Release Promotion Specify the next version for version bump tasks. ``release_type`` - The type of release being promoted. One of "nightly", "beta", "esr115", "release-rc", or "release". + The type of release being promoted. One of "nightly", "beta", "esr115", "esr128", "release-rc", or "release". ``release_eta`` The time and date when a release is scheduled to live. This value is passed to Balrog. diff --git a/taskcluster/gecko_taskgraph/decision.py b/taskcluster/gecko_taskgraph/decision.py index 9fd8a5b5c185..911e640a3933 100644 --- a/taskcluster/gecko_taskgraph/decision.py +++ b/taskcluster/gecko_taskgraph/decision.py @@ -92,9 +92,9 @@ PER_PROJECT_PARAMETERS = { "target_tasks_method": "mozilla_release_tasks", "release_type": "release", }, - "mozilla-esr115": { - "target_tasks_method": "mozilla_esr115_tasks", - "release_type": "esr115", + "mozilla-esr128": { + "target_tasks_method": "mozilla_esr128_tasks", + "release_type": "esr128", }, "pine": { "target_tasks_method": "pine_tasks", diff --git a/taskcluster/gecko_taskgraph/target_tasks.py b/taskcluster/gecko_taskgraph/target_tasks.py index c84d6c6daaa3..c6d33e9ea07a 100644 --- a/taskcluster/gecko_taskgraph/target_tasks.py +++ b/taskcluster/gecko_taskgraph/target_tasks.py @@ -594,8 +594,8 @@ def target_tasks_mozilla_release(full_task_graph, parameters, graph_config): ] -@register_target_task("mozilla_esr115_tasks") -def target_tasks_mozilla_esr115(full_task_graph, parameters, graph_config): +@register_target_task("mozilla_esr128_tasks") +def target_tasks_mozilla_esr128(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.""" @@ -609,7 +609,7 @@ def target_tasks_mozilla_esr115(full_task_graph, parameters, graph_config): platform = task.attributes.get("build_platform") - # Android is not built on esr115. + # Android is not built on esr. if platform and "android" in platform: return False @@ -1209,7 +1209,7 @@ def target_tasks_release_simulation(full_task_graph, parameters, graph_config): "nightly": "mozilla-central", "beta": "mozilla-beta", "release": "mozilla-release", - "esr115": "mozilla-esr115", + "esr128": "mozilla-esr128", } target_project = project_by_release.get(parameters["release_type"]) if target_project is None: diff --git a/taskcluster/gecko_taskgraph/transforms/update_verify_config.py b/taskcluster/gecko_taskgraph/transforms/update_verify_config.py index 4e516f173c40..d7417a44a6d8 100644 --- a/taskcluster/gecko_taskgraph/transforms/update_verify_config.py +++ b/taskcluster/gecko_taskgraph/transforms/update_verify_config.py @@ -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 esr115 - "esr115-next": r"'^(52|60|68|78|91|102)+\.\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$'", } MAR_CHANNEL_ID_OVERRIDE_REGEXES = { diff --git a/taskcluster/gecko_taskgraph/util/attributes.py b/taskcluster/gecko_taskgraph/util/attributes.py index 2d01e9c5e0a0..0bd4ebb9cbf3 100644 --- a/taskcluster/gecko_taskgraph/util/attributes.py +++ b/taskcluster/gecko_taskgraph/util/attributes.py @@ -16,10 +16,12 @@ RELEASE_PROJECTS = { "mozilla-beta", "mozilla-release", "mozilla-esr115", + "mozilla-esr128", "comm-central", "comm-beta", "comm-release", "comm-esr115", + "comm-esr128", # bug 1845368: pine is a permanent project branch used for testing # nightly updates "pine", diff --git a/taskcluster/gecko_taskgraph/util/scriptworker.py b/taskcluster/gecko_taskgraph/util/scriptworker.py index 0d2e4b805b10..14813bb3c7c3 100644 --- a/taskcluster/gecko_taskgraph/util/scriptworker.py +++ b/taskcluster/gecko_taskgraph/util/scriptworker.py @@ -64,9 +64,11 @@ SIGNING_SCOPE_ALIAS_TO_PROJECT = [ "mozilla-beta", "mozilla-release", "mozilla-esr115", + "mozilla-esr128", "comm-beta", "comm-release", "comm-esr115", + "comm-esr128", }, ], ] @@ -114,9 +116,11 @@ BEETMOVER_SCOPE_ALIAS_TO_PROJECT = [ "mozilla-beta", "mozilla-release", "mozilla-esr115", + "mozilla-esr128", "comm-beta", "comm-release", "comm-esr115", + "comm-esr128", }, ], ] @@ -204,6 +208,13 @@ BALROG_SCOPE_ALIAS_TO_PROJECT = [ "comm-esr115", }, ], + [ + "esr128", + { + "mozilla-esr128", + "comm-esr128", + }, + ], ] """Map the balrog scope aliases to the actual scopes. @@ -214,6 +225,7 @@ BALROG_SERVER_SCOPES = { "beta": "balrog:server:beta", "release": "balrog:server:release", "esr115": "balrog:server:esr", + "esr128": "balrog:server:esr", "default": "balrog:server:dep", } diff --git a/taskcluster/kinds/build/linux.yml b/taskcluster/kinds/build/linux.yml index 0cf201a22d81..0b9ef1759322 100644 --- a/taskcluster/kinds/build/linux.yml +++ b/taskcluster/kinds/build/linux.yml @@ -499,7 +499,7 @@ linux/opt: run-on-projects: - 'mozilla-beta' - 'mozilla-release' - - 'mozilla-esr115' + - 'mozilla-esr128' use-sccache: true fetches: toolchain: diff --git a/taskcluster/kinds/build/windows-mingw.yml b/taskcluster/kinds/build/windows-mingw.yml index 09c3ee0022df..d4ba373924ed 100644 --- a/taskcluster/kinds/build/windows-mingw.yml +++ b/taskcluster/kinds/build/windows-mingw.yml @@ -37,7 +37,7 @@ win32-mingwclang/opt: mozconfig-variant: mingwclang run-on-projects: - 'mozilla-central' - - 'mozilla-esr115' + - 'mozilla-esr128' use-sccache: true fetches: toolchain: @@ -76,7 +76,7 @@ win32-mingwclang/debug: mozconfig-variant: mingwclang-debug run-on-projects: - 'mozilla-central' - - 'mozilla-esr115' + - 'mozilla-esr128' use-sccache: true fetches: toolchain: @@ -115,7 +115,7 @@ win64-mingwclang/opt: mozconfig-variant: mingwclang run-on-projects: - 'mozilla-central' - - 'mozilla-esr115' + - 'mozilla-esr128' use-sccache: true fetches: toolchain: @@ -154,7 +154,7 @@ win64-mingwclang/debug: mozconfig-variant: mingwclang-debug run-on-projects: - 'mozilla-central' - - 'mozilla-esr115' + - 'mozilla-esr128' use-sccache: true fetches: toolchain: diff --git a/taskcluster/kinds/cron-bouncer-check/kind.yml b/taskcluster/kinds/cron-bouncer-check/kind.yml index 62d2c8096010..d98ad39abf65 100644 --- a/taskcluster/kinds/cron-bouncer-check/kind.yml +++ b/taskcluster/kinds/cron-bouncer-check/kind.yml @@ -53,8 +53,7 @@ jobs: mozilla-central: FIREFOX_NIGHTLY mozilla-beta: LATEST_FIREFOX_RELEASED_DEVEL_VERSION mozilla-release: LATEST_FIREFOX_VERSION - mozilla-esr115: FIREFOX_ESR - # mozilla-esrXX: FIREFOX_ESR_NEXT + mozilla-esr128: FIREFOX_ESR_NEXT default: LATEST_FIREFOX_DEVEL_VERSION products-url: https://product-details.mozilla.org/1.0/firefox_versions.json treeherder: diff --git a/taskcluster/kinds/release-balrog-scheduling/kind.yml b/taskcluster/kinds/release-balrog-scheduling/kind.yml index 64bd751ca319..ad38b0215787 100644 --- a/taskcluster/kinds/release-balrog-scheduling/kind.yml +++ b/taskcluster/kinds/release-balrog-scheduling/kind.yml @@ -34,13 +34,13 @@ jobs: by-release-type: beta: [32] release: [145] - esr115: [17824] + esr128: [17916] default: [] staging: by-release-type: beta: [32] release: [145] - esr115: [909] + esr128: [3085] default: [] background-rate: by-release-type: diff --git a/taskcluster/kinds/release-balrog-submit-toplevel/kind.yml b/taskcluster/kinds/release-balrog-submit-toplevel/kind.yml index dc1155df9d56..a2b99ea98aef 100644 --- a/taskcluster/kinds/release-balrog-submit-toplevel/kind.yml +++ b/taskcluster/kinds/release-balrog-submit-toplevel/kind.yml @@ -46,7 +46,7 @@ jobs: by-release-type: beta: ["firefox-beta-cdntest", "firefox-beta-localtest"] release(-rc)?: ["firefox-release-cdntest", "firefox-release-localtest"] - esr115: ["firefox-esr115-cdntest", "firefox-esr115-localtest"] + esr128: ["firefox-esr128-cdntest", "firefox-esr128-localtest"] default: [] pin-channels: by-release-type: diff --git a/taskcluster/kinds/release-bouncer-aliases/kind.yml b/taskcluster/kinds/release-bouncer-aliases/kind.yml index d1ce834c481d..27fe35afb6a3 100644 --- a/taskcluster/kinds/release-bouncer-aliases/kind.yml +++ b/taskcluster/kinds/release-bouncer-aliases/kind.yml @@ -73,7 +73,8 @@ jobs: firefox-esr-msix-latest-ssl: msix firefox-esr-pkg-latest-ssl: pkg firefox-esr-langpack-latest-ssl: langpack - esrXXX: # XXX - to change when we branch next ESR + esr128: + # ... these point to the newer branch firefox-esr-next-latest-ssl: installer-ssl firefox-esr-next-latest: installer firefox-esr-next-msi-latest-ssl: msi diff --git a/taskcluster/kinds/release-update-verify-config-next/kind.yml b/taskcluster/kinds/release-update-verify-config-next/kind.yml index 959d0afb9a68..fd6e66777aeb 100644 --- a/taskcluster/kinds/release-update-verify-config-next/kind.yml +++ b/taskcluster/kinds/release-update-verify-config-next/kind.yml @@ -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: [esr115] + run-on-releases: [esr128] shipping-phase: promote worker-type: b-linux-gcp worker: @@ -52,7 +52,7 @@ job-defaults: updater-platform: linux-x86_64 product: firefox channel: "esr-localtest-next" - include-version: esr115-next + include-version: esr128-next last-watershed: "68.0esr" jobs: diff --git a/taskcluster/kinds/release-update-verify-config/kind.yml b/taskcluster/kinds/release-update-verify-config/kind.yml index d4e40cda1256..53e31f712ca0 100644 --- a/taskcluster/kinds/release-update-verify-config/kind.yml +++ b/taskcluster/kinds/release-update-verify-config/kind.yml @@ -54,6 +54,7 @@ job-defaults: beta: "72.0" release(-rc)?: "72.0.2" esr115: "68.0esr" + esr128: "128.0esr" default: "default" jobs: diff --git a/taskcluster/kinds/release-update-verify-next/kind.yml b/taskcluster/kinds/release-update-verify-next/kind.yml index ad72e9b118ae..4ae52cb95fbb 100644 --- a/taskcluster/kinds/release-update-verify-next/kind.yml +++ b/taskcluster/kinds/release-update-verify-next/kind.yml @@ -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: [esr115] + run-on-releases: [esr128] shipping-phase: promote worker-type: b-linux-gcp worker: diff --git a/testing/web-platform/manifestdownload.py b/testing/web-platform/manifestdownload.py index cc26e89736d9..98f102b820c3 100644 --- a/testing/web-platform/manifestdownload.py +++ b/testing/web-platform/manifestdownload.py @@ -92,6 +92,7 @@ def taskcluster_url(logger, commits): "mozilla-central": "mozilla-central", "integration/autoland": "autoland", "releases/mozilla-esr115": "mozilla-esr115", + "releases/mozilla-esr128": "mozilla-esr128", } cset_url = ( "https://hg.mozilla.org/{repo}/json-pushes?"