group()
group(name, deps=[])
The purpose of a group() task is to "assign" a task identifier to a group of
other tasks. A group() task allows you to tell Conductor to run multiple tasks
while only referring to a single task identifier.
One use case for a group() task is when you have a list of tasks that are
usually run together (e.g., a series of tasks that comprise a benchmark suite).
In this scenario, you can use a group() task to make it more convenient to run
all of the tasks in the suite.
The difference between group() and combine() is
that combine() takes the additional step of copying its dependencies' outputs
into a single output directory (a group() task does not do this step).
Arguments
name
Type: String (required)
The task's name. This name must be unique within the task's COND file. A task
name can only contain letters, numbers, hyphens (-), and underscores (_).
deps
Type: List of task identifiers (default: [])
A list of task identifiers that should be executed when this task is requested to be executed (i.e., the tasks that should be part of this "group").
When listing tasks defined in the same COND file, you can just specify the
task's name prefixed by a colon (e.g., :compile would refer to a task named
compile defined in the same file). If you need to list a task defined in a
different COND file, you must specify the fully qualified task identifier
(e.g., //experiments:benchmark would refer to a task named benchmark defined
in the COND file in the experiments directory).
Usage Example
group(
name="run_all_benchmarks",
deps=[
":benchmark_a",
":benchmark_b",
],
)