From f116bbf3270e0062f52684d996553cbc06772e21 Mon Sep 17 00:00:00 2001 From: Andrew Halberstadt Date: Mon, 8 Sep 2025 11:47:08 -0400 Subject: [PATCH] fix(from_deps): use appropriate dependency name when unique-kinds is true --- src/taskgraph/transforms/from_deps.py | 3 ++- test/test_transforms_from_deps.py | 24 ++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/src/taskgraph/transforms/from_deps.py b/src/taskgraph/transforms/from_deps.py index 561891374..6bf5c6ec9 100644 --- a/src/taskgraph/transforms/from_deps.py +++ b/src/taskgraph/transforms/from_deps.py @@ -241,6 +241,7 @@ def from_deps(config, tasks): ) fetches_from_dep.append(entry) - task_fetches[dep_task.label] = fetches_from_dep + key = dep_task.kind if unique_kinds else dep_task.label + task_fetches[key] = fetches_from_dep yield new_task diff --git a/test/test_transforms_from_deps.py b/test/test_transforms_from_deps.py index c4ce421a1..29486bd29 100644 --- a/test/test_transforms_from_deps.py +++ b/test/test_transforms_from_deps.py @@ -187,6 +187,11 @@ def assert_group_by_all_with_fetch(deps, tasks): } +def assert_unique_kinds_with_fetch(deps, tasks): + handle_exception(tasks) + assert tasks[0]["fetches"] == {"foo": [{"artifact": "foo.txt"}]} + + @pytest.mark.parametrize( "task, kind_config, deps", ( @@ -423,6 +428,25 @@ def assert_group_by_all_with_fetch(deps, tasks): }, id="group_by_all_with_fetch", ), + pytest.param( + # task + { + "from-deps": { + "kinds": ["foo"], + "unique-kinds": True, + "fetches": { + "foo": [ + {"artifact": "foo.txt"}, + ], + }, + }, + }, + # kind config + None, + # deps + None, + id="unique_kinds_with_fetch", + ), ), ) def test_transforms(