diff --git a/.cron.yml b/.cron.yml index ef3ac8caee7f..52459c5543ef 100644 --- a/.cron.yml +++ b/.cron.yml @@ -122,6 +122,7 @@ jobs: - mozilla-beta - mozilla-release - mozilla-esr91 + - mozilla-esr102 - 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 @@ -221,6 +222,7 @@ jobs: - mozilla-beta - mozilla-release - mozilla-esr91 + - mozilla-esr102 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 32c052e0653d..a35a46efc906 100644 --- a/python/mozbuild/mozbuild/artifacts.py +++ b/python/mozbuild/mozbuild/artifacts.py @@ -104,6 +104,7 @@ class ArtifactJob(object): # The list below list should be updated when we have new ESRs. esr_candidate_trees = [ "releases/mozilla-esr91", + "releases/mozilla-esr102", ] try_tree = "try" diff --git a/taskcluster/ci/build/linux.yml b/taskcluster/ci/build/linux.yml index 498dbd92b6e5..3051da9d1b65 100644 --- a/taskcluster/ci/build/linux.yml +++ b/taskcluster/ci/build/linux.yml @@ -566,7 +566,7 @@ linux/opt: secrets: true tooltool-downloads: public need-xvfb: true - run-on-projects: ['mozilla-beta', 'mozilla-release', 'mozilla-esr91'] + run-on-projects: ['mozilla-beta', 'mozilla-release', 'mozilla-esr91', 'mozilla-esr102'] use-sccache: true fetches: toolchain: diff --git a/taskcluster/ci/build/windows-mingw.yml b/taskcluster/ci/build/windows-mingw.yml index 87657cd129f7..d9f7cb65c4ef 100644 --- a/taskcluster/ci/build/windows-mingw.yml +++ b/taskcluster/ci/build/windows-mingw.yml @@ -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-esr91'] + run-on-projects: ['mozilla-central', 'mozilla-esr91', 'mozilla-esr102'] use-sccache: true fetches: toolchain: @@ -71,7 +71,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-esr91'] + run-on-projects: ['mozilla-central', 'mozilla-esr91', 'mozilla-esr102'] use-sccache: true fetches: toolchain: @@ -108,7 +108,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-esr91'] + run-on-projects: ['mozilla-central', 'mozilla-esr91', 'mozilla-esr102'] use-sccache: true fetches: toolchain: @@ -145,7 +145,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-esr91'] + run-on-projects: ['mozilla-central', 'mozilla-esr91', 'mozilla-esr102'] use-sccache: true fetches: toolchain: diff --git a/taskcluster/ci/config.yml b/taskcluster/ci/config.yml index 1d70812ec121..5cebee2b011b 100644 --- a/taskcluster/ci/config.yml +++ b/taskcluster/ci/config.yml @@ -365,6 +365,18 @@ merge-automation: from-branch: 'release' to-repo: 'https://hg.mozilla.org/releases/mozilla-esr91' to-branch: 'esr91' + release-to-esr102: + fetch-version-from: "browser/config/version.txt" + version-files: + - filename: "browser/config/version_display.txt" + new-suffix: 'esr' + replacements: [] + merge-old-head: false + 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-esr102' + to-branch: 'esr102' bump-central: fetch-version-from: "browser/config/version.txt" version-files: @@ -401,6 +413,19 @@ merge-automation: merge-old-head: false to-repo: 'https://hg.mozilla.org/releases/mozilla-esr91' to-branch: 'esr91' + bump-esr102: + 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-esr102' + to-branch: 'esr102' scriptworker: # See additional configuration in taskcluster/gecko_taskgraph/util/scriptworker.py diff --git a/taskcluster/ci/cron-bouncer-check/kind.yml b/taskcluster/ci/cron-bouncer-check/kind.yml index 847bd1d1a40e..aa1175890d44 100644 --- a/taskcluster/ci/cron-bouncer-check/kind.yml +++ b/taskcluster/ci/cron-bouncer-check/kind.yml @@ -54,6 +54,7 @@ jobs: mozilla-beta: LATEST_FIREFOX_RELEASED_DEVEL_VERSION mozilla-release: LATEST_FIREFOX_VERSION mozilla-esr91: FIREFOX_ESR + mozilla-esr102: 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/ci/release-balrog-scheduling/kind.yml b/taskcluster/ci/release-balrog-scheduling/kind.yml index 5152afa9ab72..d41b10d67a5c 100644 --- a/taskcluster/ci/release-balrog-scheduling/kind.yml +++ b/taskcluster/ci/release-balrog-scheduling/kind.yml @@ -36,12 +36,14 @@ jobs: beta: [32] release: [145] esr91: [17638] + esr102: [17770] default: [] staging: by-release-type: beta: [32] release: [145] esr91: [889] + esr102: [902] default: [] background-rate: by-release-type: diff --git a/taskcluster/ci/release-balrog-submit-toplevel/kind.yml b/taskcluster/ci/release-balrog-submit-toplevel/kind.yml index a042894825d0..4b7ccb85741c 100644 --- a/taskcluster/ci/release-balrog-submit-toplevel/kind.yml +++ b/taskcluster/ci/release-balrog-submit-toplevel/kind.yml @@ -47,6 +47,7 @@ jobs: beta: ["firefox-beta-cdntest", "firefox-beta-localtest"] release(-rc)?: ["firefox-release-cdntest", "firefox-release-localtest"] esr91: ["firefox-esr91-cdntest", "firefox-esr91-localtest"] + esr102: ["firefox-esr102-cdntest", "firefox-esr102-localtest"] default: [] platforms: ["linux", "linux64", "macosx64", "win32", "win64", "win64-aarch64"] treeherder: diff --git a/taskcluster/ci/release-bouncer-aliases/kind.yml b/taskcluster/ci/release-bouncer-aliases/kind.yml index c2c1d04f601f..997a78a60314 100644 --- a/taskcluster/ci/release-bouncer-aliases/kind.yml +++ b/taskcluster/ci/release-bouncer-aliases/kind.yml @@ -69,6 +69,7 @@ jobs: firefox-esr-latest: installer firefox-esr-msi-latest-ssl: msi firefox-esr-pkg-latest-ssl: pkg + mozilla-esr102: # ... these point to the newer branch firefox-esr-next-latest-ssl: installer-ssl firefox-esr-next-latest: installer diff --git a/taskcluster/ci/release-bouncer-sub/kind.yml b/taskcluster/ci/release-bouncer-sub/kind.yml index 7155e889f436..614fad048214 100644 --- a/taskcluster/ci/release-bouncer-sub/kind.yml +++ b/taskcluster/ci/release-bouncer-sub/kind.yml @@ -44,6 +44,7 @@ jobs: by-release-type: default: ['complete-mar', 'installer', 'installer-ssl', 'partial-mar', 'stub-installer', 'msi', 'msix', 'pkg'] esr91: ['complete-mar', 'installer', 'installer-ssl', 'partial-mar', 'msi', 'pkg'] + esr102: ['complete-mar', 'installer', 'installer-ssl', 'partial-mar', 'msi', 'msix', 'pkg'] shipping-product: firefox treeherder: platform: firefox-release/opt diff --git a/taskcluster/ci/release-update-verify-config-next/kind.yml b/taskcluster/ci/release-update-verify-config-next/kind.yml index f68b4bfbb46b..6e2e318f3719 100644 --- a/taskcluster/ci/release-update-verify-config-next/kind.yml +++ b/taskcluster/ci/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: [esr91] + run-on-releases: [esr102] 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: esr91-next + include-version: esr102-next last-watershed: "68.0esr" jobs: diff --git a/taskcluster/ci/release-update-verify-config/kind.yml b/taskcluster/ci/release-update-verify-config/kind.yml index ad9f1516d41d..6bc7a0fbeb5d 100644 --- a/taskcluster/ci/release-update-verify-config/kind.yml +++ b/taskcluster/ci/release-update-verify-config/kind.yml @@ -54,6 +54,7 @@ job-defaults: beta: "72.0" release(-rc)?: "72.0.2" esr91: "68.0esr" + esr102: "102.0esr" default: "default" jobs: diff --git a/taskcluster/ci/release-update-verify-next/kind.yml b/taskcluster/ci/release-update-verify-next/kind.yml index 721c78d089f1..60caa4647a8e 100644 --- a/taskcluster/ci/release-update-verify-next/kind.yml +++ b/taskcluster/ci/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: [esr91] + run-on-releases: [esr102] shipping-phase: promote worker-type: b-linux worker: diff --git a/taskcluster/docs/attributes.rst b/taskcluster/docs/attributes.rst index 12962f6cd7dd..304dc9ec4c91 100644 --- a/taskcluster/docs/attributes.rst +++ b/taskcluster/docs/attributes.rst @@ -46,6 +46,7 @@ Project names are the repositories. They can be: * `mozilla-beta` * `mozilla-release` * `mozilla-esr91` +* `mozilla-esr102` * ... 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 29d5b09100ad..d0b0f958d0bf 100644 --- a/taskcluster/docs/parameters.rst +++ b/taskcluster/docs/parameters.rst @@ -179,7 +179,7 @@ Release Promotion Specify the next version for version bump tasks. ``release_type`` - The type of release being promoted. One of "nightly", "beta", "esr91", "release-rc", or "release". + The type of release being promoted. One of "nightly", "beta", "esr91", "esr102", "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 d38483611cc3..ad53d0c11e74 100644 --- a/taskcluster/gecko_taskgraph/decision.py +++ b/taskcluster/gecko_taskgraph/decision.py @@ -83,6 +83,10 @@ PER_PROJECT_PARAMETERS = { "target_tasks_method": "mozilla_esr91_tasks", "release_type": "esr91", }, + "mozilla-esr102": { + "target_tasks_method": "mozilla_esr102_tasks", + "release_type": "esr102", + }, "pine": { "target_tasks_method": "pine_tasks", }, diff --git a/taskcluster/gecko_taskgraph/target_tasks.py b/taskcluster/gecko_taskgraph/target_tasks.py index 369c9b55a8af..2e0049cfce45 100644 --- a/taskcluster/gecko_taskgraph/target_tasks.py +++ b/taskcluster/gecko_taskgraph/target_tasks.py @@ -559,6 +559,30 @@ def target_tasks_mozilla_esr91(full_task_graph, parameters, graph_config): return [l for l, t in full_task_graph.tasks.items() if filter(t)] +@_target_task("mozilla_esr102_tasks") +def target_tasks_mozilla_esr102(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 esr102. + 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") def target_tasks_promote_desktop(full_task_graph, parameters, graph_config): """Select the superset of tasks required to promote a beta or release build @@ -1081,6 +1105,7 @@ def target_tasks_release_simulation(full_task_graph, parameters, graph_config): "beta": "mozilla-beta", "release": "mozilla-release", "esr91": "mozilla-esr91", + "esr102": "mozilla-esr102", } 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 d81520eee5dc..4f41c0626b6a 100644 --- a/taskcluster/gecko_taskgraph/transforms/update_verify_config.py +++ b/taskcluster/gecko_taskgraph/transforms/update_verify_config.py @@ -29,8 +29,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 esr91 - "esr91-next": r"'^(52|60|68|78)+\.\d+(\.\d+)?esr$'", + # Previous esr versions, for update testing before we update users to esr102 + "esr102-next": r"'^(52|60|68|78|91)+\.\d+(\.\d+)?esr$'", # Previous Thunderbird major versions. Same idea as esrXX-next, no esr suffix "thunderbird91-next": r"'^78\.\d+(\.\d+)?$'", } diff --git a/taskcluster/gecko_taskgraph/util/attributes.py b/taskcluster/gecko_taskgraph/util/attributes.py index d08328b111ae..dd168bef8f84 100644 --- a/taskcluster/gecko_taskgraph/util/attributes.py +++ b/taskcluster/gecko_taskgraph/util/attributes.py @@ -17,6 +17,7 @@ RELEASE_PROJECTS = { "mozilla-beta", "mozilla-release", "mozilla-esr91", + "mozilla-esr102", "comm-central", "comm-beta", "comm-esr91", diff --git a/taskcluster/gecko_taskgraph/util/scriptworker.py b/taskcluster/gecko_taskgraph/util/scriptworker.py index c624ab7e0701..22a32644c701 100644 --- a/taskcluster/gecko_taskgraph/util/scriptworker.py +++ b/taskcluster/gecko_taskgraph/util/scriptworker.py @@ -61,6 +61,7 @@ SIGNING_SCOPE_ALIAS_TO_PROJECT = [ "mozilla-beta", "mozilla-release", "mozilla-esr91", + "mozilla-esr102", "comm-beta", "comm-esr91", }, @@ -106,6 +107,7 @@ BEETMOVER_SCOPE_ALIAS_TO_PROJECT = [ "mozilla-beta", "mozilla-release", "mozilla-esr91", + "mozilla-esr102", "comm-beta", "comm-esr91", }, @@ -171,6 +173,12 @@ BALROG_SCOPE_ALIAS_TO_PROJECT = [ "mozilla-esr91", }, ], + [ + "esr102", + { + "mozilla-esr102", + }, + ], ] """Map the balrog scope aliases to the actual scopes. @@ -181,6 +189,7 @@ BALROG_SERVER_SCOPES = { "beta": "balrog:server:beta", "release": "balrog:server:release", "esr91": "balrog:server:esr", + "esr102": "balrog:server:esr", "default": "balrog:server:dep", } diff --git a/testing/web-platform/manifestdownload.py b/testing/web-platform/manifestdownload.py index c834658430d7..28ade0ef7e71 100644 --- a/testing/web-platform/manifestdownload.py +++ b/testing/web-platform/manifestdownload.py @@ -93,6 +93,7 @@ def taskcluster_url(logger, commits): "mozilla-central": "mozilla-central", "integration/autoland": "autoland", "releases/mozilla-esr91": "mozilla-esr91", + "releases/mozilla-esr102": "mozilla-esr102", } cset_url = ( "https://hg.mozilla.org/{repo}/json-pushes?"