commit 00f0efca2df30c6c2e602506444541d227c77c4f
parent 6aa12707844be7bb5b4dd76f1774b5d19ac35e1e
Author: Bastien Orivel <borivel@mozilla.com>
Date: Fri, 28 Nov 2025 09:44:36 +0000
Bug 1999650 - Add `not_for_locales` support to beetmover manifests. r=releng-reviewers,taskgraph-reviewers,ahal
Differential Revision: https://phabricator.services.mozilla.com/D272614
Diffstat:
3 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/taskcluster/gecko_taskgraph/manifests/firefox_candidates.yml b/taskcluster/gecko_taskgraph/manifests/firefox_candidates.yml
@@ -27,6 +27,7 @@
# `pretty_name` -- the final name the artifact will have at destination
# `checksums_path` -- the name to identify one artifact within the checksums file
# `expiry` -- setting for expiring this file (GCS custom_time). ie: 1 year
+# `not_for_locales` -- filtering option to avoid associating an artifact if it matches any given locale
# `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
diff --git a/taskcluster/gecko_taskgraph/manifests/firefox_nightly.yml b/taskcluster/gecko_taskgraph/manifests/firefox_nightly.yml
@@ -26,6 +26,7 @@
# `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_locales` -- filtering option to avoid associating an artifact if it matches any given locale
# `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
diff --git a/taskcluster/gecko_taskgraph/util/scriptworker.py b/taskcluster/gecko_taskgraph/util/scriptworker.py
@@ -535,6 +535,11 @@ def generate_beetmover_upstream_artifacts(
and platform in map_config["mapping"][filename]["not_for_platforms"]
):
continue
+ if (
+ "not_for_locales" in map_config["mapping"][filename]
+ and locale in map_config["mapping"][filename]["not_for_locales"]
+ ):
+ continue
if "partials_only" in map_config["mapping"][filename]:
continue
# The next time we look at this file it might be a different locale.
@@ -675,6 +680,12 @@ def generate_beetmover_artifact_map(config, job, **kwargs):
):
# This platform either doesn't produce or shouldn't upload this file.
continue
+ if (
+ "not_for_locales" in map_config["mapping"][filename]
+ and locale in map_config["mapping"][filename]["not_for_locales"]
+ ):
+ # This locale either doesn't produce or shouldn't upload this file
+ continue
if "partials_only" in map_config["mapping"][filename]:
continue