File tree Expand file tree Collapse file tree 3 files changed +29
-2
lines changed
Expand file tree Collapse file tree 3 files changed +29
-2
lines changed Original file line number Diff line number Diff line change @@ -523,9 +523,18 @@ def load_task(
523523 env .update (task_def ["payload" ].get ("env" , {})) # type: ignore
524524
525525 # run-task expects the worker to mount a volume for each path defined in
526- # TASKCLUSTER_CACHES, delete them to avoid needing to do the same.
526+ # TASKCLUSTER_CACHES; delete them to avoid needing to do the same, unless
527+ # they're passed in as volumes.
527528 if "TASKCLUSTER_CACHES" in env :
528- del env ["TASKCLUSTER_CACHES" ]
529+ if volumes :
530+ caches = env ["TASKCLUSTER_CACHES" ].split (";" )
531+ caches = [cache for cache in caches if cache in volumes ]
532+ else :
533+ caches = []
534+ if caches :
535+ env ["TASKCLUSTER_CACHES" ] = ";" .join (caches )
536+ else :
537+ del env ["TASKCLUSTER_CACHES" ]
529538
530539 envfile = None
531540 initfile = None
Original file line number Diff line number Diff line change @@ -792,6 +792,14 @@ def image_digest(args):
792792 default = "taskcluster" ,
793793 help = "Relative path to the root of the Taskgraph definition." ,
794794)
795+ @argument (
796+ "--volume" ,
797+ "-v" ,
798+ metavar = "HOST_DIR:CONTAINER_DIR" ,
799+ default = [],
800+ action = "append" ,
801+ help = "Mount local path into the container." ,
802+ )
795803def load_task (args ):
796804 from taskgraph .config import load_graph_config # noqa: PLC0415
797805 from taskgraph .docker import load_task # noqa: PLC0415
@@ -806,6 +814,11 @@ def load_task(args):
806814 except ValueError :
807815 args ["task" ] = data # assume it is a taskId
808816
817+ volumes = {}
818+ for vol in args ["volume" ]:
819+ k , v = vol .split (":" , 1 )
820+ volumes [k ] = v
821+
809822 root = args ["root" ]
810823 graph_config = load_graph_config (root )
811824 return load_task (
@@ -815,6 +828,7 @@ def load_task(args):
815828 remove = args ["remove" ],
816829 user = args ["user" ],
817830 custom_image = args ["image" ],
831+ volumes = volumes ,
818832 )
819833
820834
Original file line number Diff line number Diff line change @@ -466,6 +466,7 @@ def test_load_task_command(run_load_task):
466466 remove = True ,
467467 user = None ,
468468 custom_image = None ,
469+ volumes = {},
469470 )
470471
471472 # Test with interactive flag
@@ -479,6 +480,7 @@ def test_load_task_command(run_load_task):
479480 remove = True ,
480481 user = None ,
481482 custom_image = None ,
483+ volumes = {},
482484 )
483485
484486
@@ -503,6 +505,7 @@ def test_load_task_command_with_stdin(run_load_task):
503505 remove = True ,
504506 user = None ,
505507 custom_image = None ,
508+ volumes = {},
506509 )
507510
508511
@@ -520,6 +523,7 @@ def test_load_task_command_with_task_id(run_load_task):
520523 remove = True ,
521524 user = None ,
522525 custom_image = None ,
526+ volumes = {},
523527 )
524528
525529
You can’t perform that action at this time.
0 commit comments