github.com/upcmd/up@v0.8.1-0.20230108151705-ad8b797bf04f/tests/functests/c0118.yml (about)

     1  doc_meta: |
     2    folder: loop
     3    title: loop with condition
     4    head: |
     5      This showcases the conditional loop
     6  
     7    sections:
     8      - title: Demo
     9        log: yes
    10  
    11  notes:
    12    goal:
    13      - use conditional loop
    14  
    15  vars:
    16    items:
    17      - item1
    18      - item2
    19      - item3
    20    loopkey: items
    21  
    22  tasks:
    23    -
    24      name: task
    25      desc: main entry
    26      task:
    27        -
    28          func: cmd
    29          vars:
    30            person: tom
    31          name: step1
    32          desc: demo loop will not be executed if false
    33          do:
    34            - name: print
    35              cmd: '{{.loopitem}}'
    36          loop:
    37            - item1
    38            - item2
    39            - item3
    40          if: '{{eq .person "tom hanks"}}'
    41  
    42        -
    43          func: cmd
    44          vars:
    45            person: tom
    46          name: step1
    47          desc: demo use if condition is true
    48          do:
    49            - name: print
    50              cmd: '{{.loopitem}}'
    51          loop:
    52            - item1
    53            - item2
    54            - item3
    55          if: '{{eq .person "tom  "}}'
    56  
    57        -
    58          func: cmd
    59          name: step1
    60          desc: demo use dynamic key to ref to a loop item from var
    61          do:
    62            - name: print
    63              cmd: '{{.loopitem}}'
    64          loop: '{{.loopkey}}'