!JobGroup

A !JobGroup can specify a collection of jobs to be executed by Gator, each grouping can contain instances of !Job, !JobArray, and nested !JobGroup layers:

!JobGroup
  id     : top
  cwd    : /path/to/working/directory
  env    :
    ENV_KEY_A: abcde
    ENV_KEY_B: 12345
  jobs   :
    - !Job
        id     : job_a
        command: echo
        args   :
         - "This is job A"
    - !JobGroup
        id  : inner
        jobs:
          - !Job
            id     : job_b
            command: echo
            args   :
              - "This is job B"
          - !Job
            id     : job_c
            command: echo
            args   :
              - "This is job C"
  on_done:
    - job_that_may_pass_or_fail
  on_pass:
    - job_that_must_pass
  on_fail:
    - job_that_will_fail
Field Required Description
id Identifier for the job array, used to navigate job hierarchy
cwd Working directory, if not specified then the launch shell's $CWD is used
env Dictionary of environment variables to overlay
jobs !Job, !JobGroup, or !JobArray to run in this tier
on_done List of other tasks that must complete (pass or fail) before launching this group
on_pass List of other tasks that must succeed before launching this group
on_fail List of other tasks that must fail before launching this group

Note

Dependencies specified in on_done, on_pass, and on_fail are ANDed together, such that all tasks listed must complete with the relevent pass or failure state before the dependent task is started.