diff --git a/.cron.yml b/.cron.yml index 7236851f97e9..11ca9c0072cb 100644 --- a/.cron.yml +++ b/.cron.yml @@ -132,6 +132,7 @@ jobs: - mozilla-beta - mozilla-release - mozilla-esr102 + - mozilla-esr115 - 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 @@ -205,6 +206,7 @@ jobs: - mozilla-beta - mozilla-release - mozilla-esr102 + - mozilla-esr115 when: by-project: # No default branch @@ -220,6 +222,7 @@ jobs: mozilla-esr102: - {hour: 7, minute: 0} - {hour: 19, minute: 0} + mozilla-esr115: [] - name: periodic-update job: @@ -231,6 +234,7 @@ jobs: - mozilla-beta - mozilla-release - mozilla-esr102 + - mozilla-esr115 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 f6f752e82aef..c748e6475c5c 100644 --- a/python/mozbuild/mozbuild/artifacts.py +++ b/python/mozbuild/mozbuild/artifacts.py @@ -101,6 +101,7 @@ class ArtifactJob(object): # The list below list should be updated when we have new ESRs. esr_candidate_trees = [ "releases/mozilla-esr102", + "releases/mozilla-esr115", ] try_tree = "try" diff --git a/taskcluster/ci/build/linux.yml b/taskcluster/ci/build/linux.yml index 518fa5ef3daa..e34d5660a5d5 100644 --- a/taskcluster/ci/build/linux.yml +++ b/taskcluster/ci/build/linux.yml @@ -496,7 +496,11 @@ linux/opt: script: "mozharness/scripts/fx_desktop_build.py" secrets: true 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 fetches: toolchain: diff --git a/taskcluster/ci/build/windows-mingw.yml b/taskcluster/ci/build/windows-mingw.yml index 91c00b7d5312..4927499e1fa6 100644 --- a/taskcluster/ci/build/windows-mingw.yml +++ b/taskcluster/ci/build/windows-mingw.yml @@ -32,7 +32,10 @@ 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-esr102'] + run-on-projects: + - 'mozilla-central' + - 'mozilla-esr102' + - 'mozilla-esr115' use-sccache: true fetches: toolchain: @@ -69,7 +72,10 @@ 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-esr102'] + run-on-projects: + - 'mozilla-central' + - 'mozilla-esr102' + - 'mozilla-esr115' use-sccache: true fetches: toolchain: @@ -106,7 +112,10 @@ 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-esr102'] + run-on-projects: + - 'mozilla-central' + - 'mozilla-esr102' + - 'mozilla-esr115' use-sccache: true fetches: toolchain: @@ -143,7 +152,10 @@ 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-esr102'] + run-on-projects: + - 'mozilla-central' + - 'mozilla-esr102' + - 'mozilla-esr115' use-sccache: true fetches: toolchain: diff --git a/taskcluster/ci/config.yml b/taskcluster/ci/config.yml index 8202f31a1188..e7d4c65746d8 100644 --- a/taskcluster/ci/config.yml +++ b/taskcluster/ci/config.yml @@ -378,8 +378,8 @@ merge-automation: replacements: [] merge-old-head: false end-tag: "FIREFOX_ESR_{major_version}_BASE" - to-repo: 'https://hg.mozilla.org/releases/mozilla-esr102' - to-branch: 'esr102' + to-repo: 'https://hg.mozilla.org/releases/mozilla-esr115' + to-branch: 'esr115' bump-central: fetch-version-from: "browser/config/version.txt" version-files: @@ -413,6 +413,19 @@ merge-automation: merge-old-head: false to-repo: 'https://hg.mozilla.org/releases/mozilla-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: # 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 c8db9eb27f16..a52291f97a8c 100644 --- a/taskcluster/ci/cron-bouncer-check/kind.yml +++ b/taskcluster/ci/cron-bouncer-check/kind.yml @@ -54,7 +54,7 @@ jobs: mozilla-beta: LATEST_FIREFOX_RELEASED_DEVEL_VERSION mozilla-release: LATEST_FIREFOX_VERSION mozilla-esr102: FIREFOX_ESR - # mozilla-esrXX: FIREFOX_ESR_NEXT + mozilla-esr115: 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 0ca6bfc12e00..2533818ca26c 100644 --- a/taskcluster/ci/release-balrog-scheduling/kind.yml +++ b/taskcluster/ci/release-balrog-scheduling/kind.yml @@ -35,12 +35,14 @@ jobs: beta: [32] release: [145] esr102: [17770] + esr115: [17824] default: [] staging: by-release-type: beta: [32] release: [145] esr102: [902] + esr115: [909] 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 555b75176c5c..758579679301 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"] esr102: ["firefox-esr102-cdntest", "firefox-esr102-localtest"] + esr115: ["firefox-esr115-cdntest", "firefox-esr115-localtest"] default: [] pin-channels: by-release-type: diff --git a/taskcluster/ci/release-bouncer-aliases/kind.yml b/taskcluster/ci/release-bouncer-aliases/kind.yml index 36a41850af58..fa653ba5f389 100644 --- a/taskcluster/ci/release-bouncer-aliases/kind.yml +++ b/taskcluster/ci/release-bouncer-aliases/kind.yml @@ -73,8 +73,7 @@ jobs: firefox-esr-msix-latest-ssl: msix firefox-esr-pkg-latest-ssl: pkg firefox-esr-langpack-latest-ssl: langpack - esrXXX: # XXX - to update when we branch next ESR - # ... these point to the newer branch + esr115: firefox-esr-next-latest-ssl: installer-ssl firefox-esr-next-latest: installer firefox-esr-next-msi-latest-ssl: msi diff --git a/taskcluster/ci/release-bouncer-sub/kind.yml b/taskcluster/ci/release-bouncer-sub/kind.yml index abfd7e9a49ed..131b41b0a7b7 100644 --- a/taskcluster/ci/release-bouncer-sub/kind.yml +++ b/taskcluster/ci/release-bouncer-sub/kind.yml @@ -43,7 +43,7 @@ jobs: bouncer-products: by-release-type: 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 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 a6dfd910f8c1..959d0afb9a68 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: [esr102] + run-on-releases: [esr115] 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: esr102-next + include-version: esr115-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 b2964ac7bf5f..7a3403b32c47 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" esr102: "68.0esr" + esr115: "68.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 4c401314b580..ad72e9b118ae 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: [esr102] + run-on-releases: [esr115] shipping-phase: promote worker-type: b-linux-gcp worker: diff --git a/taskcluster/docs/parameters.rst b/taskcluster/docs/parameters.rst index 2df1ac403237..562ed2c54f5d 100644 --- a/taskcluster/docs/parameters.rst +++ b/taskcluster/docs/parameters.rst @@ -192,7 +192,7 @@ Release Promotion Specify the next version for version bump tasks. ``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`` 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 570e58fd372c..184977048184 100644 --- a/taskcluster/gecko_taskgraph/decision.py +++ b/taskcluster/gecko_taskgraph/decision.py @@ -96,6 +96,10 @@ PER_PROJECT_PARAMETERS = { "target_tasks_method": "mozilla_esr102_tasks", "release_type": "esr102", }, + "mozilla-esr115": { + "target_tasks_method": "mozilla_esr115_tasks", + "release_type": "esr115", + }, "pine": { "target_tasks_method": "pine_tasks", }, diff --git a/taskcluster/gecko_taskgraph/target_tasks.py b/taskcluster/gecko_taskgraph/target_tasks.py index 51caa9ef8343..b09d8bbfbf29 100644 --- a/taskcluster/gecko_taskgraph/target_tasks.py +++ b/taskcluster/gecko_taskgraph/target_tasks.py @@ -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)] +@_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") def target_tasks_promote_desktop(full_task_graph, parameters, graph_config): """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", "release": "mozilla-release", "esr102": "mozilla-esr102", + "esr115": "mozilla-esr115", } 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 ac42d4183d53..1de808f82ba1 100644 --- a/taskcluster/gecko_taskgraph/transforms/update_verify_config.py +++ b/taskcluster/gecko_taskgraph/transforms/update_verify_config.py @@ -28,7 +28,7 @@ INCLUDE_VERSION_REGEXES = { # 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 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 = { diff --git a/taskcluster/gecko_taskgraph/util/attributes.py b/taskcluster/gecko_taskgraph/util/attributes.py index 5e465b2a700f..0ab671e5128e 100644 --- a/taskcluster/gecko_taskgraph/util/attributes.py +++ b/taskcluster/gecko_taskgraph/util/attributes.py @@ -16,6 +16,7 @@ RELEASE_PROJECTS = { "mozilla-beta", "mozilla-release", "mozilla-esr102", + "mozilla-esr115", "comm-central", "comm-beta", "comm-esr102", diff --git a/taskcluster/gecko_taskgraph/util/scriptworker.py b/taskcluster/gecko_taskgraph/util/scriptworker.py index 9a5c44617215..f14ff12149f3 100644 --- a/taskcluster/gecko_taskgraph/util/scriptworker.py +++ b/taskcluster/gecko_taskgraph/util/scriptworker.py @@ -59,6 +59,7 @@ SIGNING_SCOPE_ALIAS_TO_PROJECT = [ "mozilla-beta", "mozilla-release", "mozilla-esr102", + "mozilla-esr115", "comm-beta", "comm-esr102", }, @@ -104,6 +105,7 @@ BEETMOVER_SCOPE_ALIAS_TO_PROJECT = [ "mozilla-beta", "mozilla-release", "mozilla-esr102", + "mozilla-esr115", "comm-beta", "comm-esr102", }, @@ -184,6 +186,12 @@ BALROG_SCOPE_ALIAS_TO_PROJECT = [ "mozilla-esr102", }, ], + [ + "esr115", + { + "mozilla-esr115", + }, + ], ] """Map the balrog scope aliases to the actual scopes. @@ -194,6 +202,7 @@ BALROG_SERVER_SCOPES = { "beta": "balrog:server:beta", "release": "balrog:server:release", "esr102": "balrog:server:esr", + "esr115": "balrog:server:esr", "default": "balrog:server:dep", } diff --git a/testing/web-platform/manifestdownload.py b/testing/web-platform/manifestdownload.py index 6a34be858fcf..8f178061bb57 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-esr102": "mozilla-esr102", + "releases/mozilla-esr115": "mozilla-esr115", } cset_url = ( "https://hg.mozilla.org/{repo}/json-pushes?"