github.com/billybanfield/evergreen@v0.0.0-20170525200750-eeee692790f7/model/testdata/matrix_deps.yml (about)

     1  axes:
     2  - id: configuration
     3    values:
     4    - id: standalone
     5      variables:
     6          setup: standalone
     7    - id: repl
     8      variables:
     9          setup: repl
    10    - id: sharded
    11      variables:
    12          setup: sharded
    13  - id: os
    14    values:
    15    - id: windows
    16      variables:
    17          build_distro: "windows_big"
    18    - id: linux
    19      run_on: "linux"
    20      tags: "posix"
    21      variables:
    22          build_distro: "linux_big"
    23          setup: repl
    24    - id: osx
    25      run_on: "osx"
    26      tags: "posix"
    27      variables:
    28          build_distro: "osx_big"
    29  
    30  
    31  buildvariants:
    32  # standalone matrix for doing work before and after all other tasks
    33  - name: analysis
    34    run_on: "linux"
    35    stepback: false
    36    tasks:
    37    - pre-task
    38    - post-task
    39  
    40  - matrix_name: test
    41    matrix_spec:
    42        os: "*"
    43        configuration: "*"
    44    tasks:
    45    - name: "!.special"
    46      depends_on:
    47      - name: "compile"
    48        variant: 
    49          os: ${os}
    50          configuration: "standalone"
    51    rules:
    52    # only run compile once per OS -- all configs will depend on it
    53    - if:
    54        os: "*"
    55        configuration: "standalone"
    56      then:
    57        add_tasks:
    58          name: "compile"
    59          run_on: ${build_distro}
    60          depends_on:
    61          - name: "pre-task"
    62            variant: "analysis"
    63  
    64  tasks:
    65  - name: "compile"
    66    tags: "special"
    67  - name: "test1"
    68  - name: "test2"
    69  - name: "test3"
    70  - name: "test4"
    71  - name: "pre-task"
    72    tags: "special"
    73  - name: "post-task"
    74    depends_on:
    75    - name: "!.special"
    76      variant: {"os":"*", "configuration":"*"}
    77    tags: "special"