tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

commit 22667a2001f96ea18a6680cbfbf2b80a0217f37e
parent 1226c043cca77297e654f1dd13aca22b2dc4861c
Author: Cristina Horotan <chorotan@mozilla.com>
Date:   Fri,  3 Oct 2025 23:29:44 +0300

Revert "Bug 1773091 - Archive desktop builds on autoland backstop pushes r=ahal,taskgraph-reviewers,releng-reviewers,bhearsum" for causing BM-int exceptions

This reverts commit b9f589ffe2173b236735cc134ba1f6965f4121da.

Diffstat:
Mtaskcluster/config.yml | 10+++-------
Mtaskcluster/docs/kinds.rst | 7-------
Dtaskcluster/gecko_taskgraph/manifests/firefox_integration.yml | 148-------------------------------------------------------------------------------
Dtaskcluster/gecko_taskgraph/transforms/beetmover_integration.py | 102-------------------------------------------------------------------------------
Mtaskcluster/gecko_taskgraph/util/scriptworker.py | 2--
Dtaskcluster/kinds/beetmover-integration/kind.yml | 45---------------------------------------------
6 files changed, 3 insertions(+), 311 deletions(-)

diff --git a/taskcluster/config.yml b/taskcluster/config.yml @@ -601,13 +601,9 @@ workers: implementation: beetmover os: linux worker-type: - by-project: - # Autoland needs level 3 for integration beetmover tasks - autoland: '{trust-domain}-3-beetmover' - default: - by-release-level: - production: '{trust-domain}-3-beetmover' - staging: '{trust-domain}-1-beetmover' + by-release-level: + production: '{trust-domain}-3-beetmover' + staging: '{trust-domain}-1-beetmover' beetmover-android: provisioner: scriptworker-k8s implementation: scriptworker-beetmover diff --git a/taskcluster/docs/kinds.rst b/taskcluster/docs/kinds.rst @@ -270,13 +270,6 @@ Beetmover, takes specific artifacts, "Beets", and pushes them to a location outs of Taskcluster's task artifacts, (archive.mozilla.org as one place) and in the process determines the final location and a "pretty" name (versioned product name) -beetmover-integration ---------------------- -Beetmover, takes specific artifacts, "Beets", and pushes them to a location outside -of Taskcluster's task artifacts, (archive.mozilla.org as one place) and in the -process determines the final location and a "pretty" name (versioned product name) -This separate kind archives builds from the autoland branch. - beetmover-l10n -------------- diff --git a/taskcluster/gecko_taskgraph/manifests/firefox_integration.yml b/taskcluster/gecko_taskgraph/manifests/firefox_integration.yml @@ -1,148 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -# This file contains exhaustive information about all the release artifacs that -# are needed within a type of release. -# -# Structure -# -------- -# `s3_bucket_paths` -- prefix to be used per product to correctly access our S3 buckets -# `default_locales` -- list of locales to be used when composing upstream artifacts or the list of -# destinations. If given an empty locale, it uses these locales instead. -# `tasktype_map` -- mapping between task reference and task type, particularly usefule when -# composing the upstreamArtifacts for scriptworker. -# `platform_names` -- various platform mappings used in reckoning artifacts or other paths -# `default` -- a default entry, which the mappings extend and override in such a way that -# final path full-destinations will be a concatenation of the following: -# `s3_bucket_paths`, `destinations`, `locale_prefix`, `pretty_name` -# `from` -- specifies the dependency(ies) from which to expect the particular artifact -# `all_locales` -- boolean argument to specify whether that particular artifact is to be expected -# for all locales or just the default one -# `description` -- brief summary of what that artifact is -# `locale_prefix` -- prefix to be used in the final destination paths, whether that's for default locale or not -# `source_path_modifier` -- any parent dir that might be used in between artifact prefix and filename at source location -# for example `public/build` vs `public/build/ach/`. -# `destinations` -- final list of directories where to push the artifacts in S3 -# `pretty_name` -- the final name the artifact will have at destination -# `checksums_path` -- the name to identify one artifact within the checksums file -# `not_for_platforms` -- filtering option to avoid associating an artifact with a specific platform -# `only_for_platforms` -- filtering option to exclusively include the association of an artifact for a specific platform -# `partials_only` -- filtering option to avoid associating an artifact unless this flag is present -# `update_balrog_manifest`-- flag needed downstream in beetmover jobs to reckon the balrog manifest -# `from_buildid` -- flag needed downstream in beetmover jobs to reckon the balrog manifest - -s3_bucket_paths: - - pub/firefox/integration -default_locales: - - en-US -tasktype_map: - build: build - signing: signing - repackage: repackage -platform_names: - filename_platform: - by-platform: - linux64: 'linux64' - linux64-aarch64-shippable: 'linux-aarch64' - linux64-asan-reporter-shippable: 'linux-x86_64-asan-reporter' - macosx64: 'mac' - macosx64-shippable: 'mac-shippable' - macosx64-aarch64-shippable: 'mac-aarch64' - win32: 'win32' - win32-shippable: 'win32-shippable' - win64: 'win64' - win64-shippable: 'win64-shippable' - win64-aarch64: 'win64-aarch64' - win64-aarch64-shippable: 'win64-aarch64' - win64-asan-reporter-shippable: 'win64-asan-reporter' - -default: &default - from: - - build - all_locales: false - description: "TO_BE_OVERRIDDEN" - locale_prefix: '' - source_path_modifier: - by-locale: - default: '${locale}' - en-US: '' - destinations: - - ${branch}/${year}/${month}/${day}/${head_rev} - expiry: "2 years" - -mapping: - target.json: - <<: *default - description: "Various compile and moz_app flags baked together in a json file" - pretty_name: firefox-${version}.${locale}.${filename_platform}.json - checksums_path: firefox-${version}.${locale}.${filename_platform}.json - target.mozinfo.json: - <<: *default - description: "Various compile and moz_app flags baked together in a json file" - pretty_name: firefox-${version}.${locale}.${filename_platform}.mozinfo.json - checksums_path: firefox-${version}.${locale}.${filename_platform}.mozinfo.json - target.txt: - <<: *default - description: "File containing buildid and revision" - pretty_name: firefox-${version}.${locale}.${filename_platform}.txt - checksums_path: firefox-${version}.${locale}.${filename_platform}.txt - target_info.txt: - <<: *default - description: "File containing the buildID" - pretty_name: firefox-${version}.${locale}.${filename_platform}_info.txt - checksums_path: firefox-${version}.${locale}.${filename_platform}_info.txt - target.jsshell.zip: - <<: *default - description: "Set of shells to allow test snippets of Javascript code without needing to reload the page" - pretty_name: jsshell-${filename_platform}.zip - checksums_path: jsshell-${filename_platform}.zip - target.tar.xz: - <<: *default - description: "Main installer for Linux platforms" - only_for_platforms: - - linux64 - - linux64-shippable - - linux64-aarch64-shippable - - linux64-asan-reporter-shippable - pretty_name: firefox-${version}.${locale}.${filename_platform}.tar.xz - checksums_path: firefox-${version}.${locale}.${filename_platform}.tar.xz - target.dmg: - <<: *default - description: "Main package disk image for Mac OS X platforms" - # Attribution-l10n jobs don't have locale in the artifact path - source_path_modifier: "" - only_for_platforms: - - macosx64 - - macosx64-shippable - - macosx64-aarch64-shippable - pretty_name: firefox-${version}.${locale}.${filename_platform}.dmg - checksums_path: firefox-${version}.${locale}.${filename_platform}.dmg - target.zip: - <<: *default - description: "Main package installer for Windows platforms" - only_for_platforms: - - win32 - - win32-shippable - - win64 - - win64-shippable - - win64-aarch64 - - win64-aarch64-shippable - - win64-asan-reporter-shippable - pretty_name: firefox-${version}.${locale}.${filename_platform}.zip - checksums_path: firefox-${version}.${locale}.${filename_platform}.zip - target.installer.exe: - <<: *default - description: "Main installer for Windows platforms" - # Need to add the installer path since it's sourcing from build kind instead of repackage-signing - source_path_modifier: 'install/sea/' - only_for_platforms: - - win32 - - win32-shippable - - win64 - - win64-shippable - - win64-aarch64 - - win64-aarch64-shippable - - win64-asan-reporter-shippable - pretty_name: firefox-${version}.${locale}.${filename_platform}.installer.exe - checksums_path: firefox-${version}.${locale}.${filename_platform}.installer.exe diff --git a/taskcluster/gecko_taskgraph/transforms/beetmover_integration.py b/taskcluster/gecko_taskgraph/transforms/beetmover_integration.py @@ -1,102 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -""" -Transform the beetmover task into an actual task description. -""" - - -from taskgraph.transforms.base import TransformSequence -from taskgraph.util.dependencies import get_primary_dependency -from taskgraph.util.keyed_by import evaluate_keyed_by -from taskgraph.util.schema import Schema, optionally_keyed_by -from voluptuous import Optional, Required - -from gecko_taskgraph.transforms.beetmover import craft_release_properties -from gecko_taskgraph.transforms.task import task_description_schema -from gecko_taskgraph.util.attributes import copy_attributes_from_dependent_job -from gecko_taskgraph.util.scriptworker import ( - generate_beetmover_artifact_map, - generate_beetmover_upstream_artifacts, -) - -beetmover_description_schema = Schema( - { - Required("label"): str, - Required("description"): str, - Required("dependencies"): task_description_schema["dependencies"], - Required("if-dependencies"): task_description_schema["if-dependencies"], - Optional("treeherder"): task_description_schema["treeherder"], - Required("run-on-projects"): task_description_schema["run-on-projects"], - Optional("attributes"): task_description_schema["attributes"], - Optional("task-from"): task_description_schema["task-from"], - Required("worker-type"): task_description_schema["worker-type"], - Required("scopes"): optionally_keyed_by("project", [str]), - } -) - -transforms = TransformSequence() - - -@transforms.add -def remove_name(config, tasks): - for job in tasks: - if "name" in job: - del job["name"] - yield job - - -transforms.add_validate(beetmover_description_schema) - - -@transforms.add -def make_task_description(config, tasks): - for task in tasks: - dep_task = get_primary_dependency(config, task) - assert dep_task - - attributes = copy_attributes_from_dependent_job(dep_task) - attributes.update(task.get("attributes", {})) - - treeherder = task.get("treeherder", {}) - dep_th_platform = ( - dep_task.task.get("extra", {}) - .get("treeherder", {}) - .get("machine", {}) - .get("platform", "") - ) - treeherder.setdefault("platform", f"{dep_th_platform}/opt") - - task["description"] = task["description"].format( - build_platform=attributes.get("build_platform"), - build_type=attributes.get("build_type"), - ) - - task["scopes"] = evaluate_keyed_by( - task["scopes"], - "beetmover-integration", - {"project": config.params.get("project")}, - ) - - if task.get("locale"): - attributes["locale"] = task["locale"] - task["attributes"] = attributes - - yield task - - -@transforms.add -def make_task_worker(config, jobs): - for job in jobs: - locale = job["attributes"].get("locale") - platform = job["attributes"]["build_platform"] - job["worker"] = { - "release-properties": craft_release_properties(config, job), - "upstream-artifacts": generate_beetmover_upstream_artifacts( - config, job, platform, locale - ), - "artifact-map": generate_beetmover_artifact_map( - config, job, platform=platform, locale=locale - ), - } - yield job diff --git a/taskcluster/gecko_taskgraph/util/scriptworker.py b/taskcluster/gecko_taskgraph/util/scriptworker.py @@ -751,9 +751,7 @@ def generate_beetmover_artifact_map(config, job, **kwargs): "build_number": config.params["build_number"], "year": upload_date.year, "month": upload_date.strftime("%m"), # zero-pad the month - "day": upload_date.strftime("%d"), "upload_date": upload_date.strftime("%Y-%m-%d-%H-%M-%S"), - "head_rev": config.params["head_rev"], } ) kwargs.update(**platforms) diff --git a/taskcluster/kinds/beetmover-integration/kind.yml b/taskcluster/kinds/beetmover-integration/kind.yml @@ -1,45 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. ---- -loader: taskgraph.loader.transform:loader - -transforms: - - taskgraph.transforms.from_deps - - gecko_taskgraph.transforms.name_sanity - - gecko_taskgraph.transforms.beetmover_integration - - gecko_taskgraph.transforms.task - -kind-dependencies: - # Primary dependencies - - build - -only-for-build-platforms: - - linux64/opt - - macosx64/opt - - win32/opt - - win64/opt - -tasks: - beetmover-integration: - description: Beetmover integration submission - {build_platform}/{build_type} - from-deps: - group-by: platform - attributes: - artifact_map: taskcluster/gecko_taskgraph/manifests/firefox_integration.yml - if-dependencies: - - build - run-on-projects: [autoland] - treeherder: - tier: 2 - kind: build - symbol: BM-int - worker-type: beetmover - scopes: - by-project: - autoland: - - project:releng:beetmover:bucket:release - - project:releng:beetmover:action:direct-push-to-bucket - default: - - project:releng:beetmover:bucket:dep - - project:releng:beetmover:action:direct-push-to-bucket