github.com/facebookincubator/ttpforge@v1.0.13-0.20240405153150-5ae801628835/docs/foundations/actions/inline.md (about)

     1  # TTPForge Actions: `inline`
     2  
     3  By default, the `inline` action runs the provided shell command in a new
     4  instance of the `bash` shell:
     5  
     6  https://github.com/facebookincubator/TTPForge/blob/7634dc65879ec43a108a4b2d44d7eb2105a2a4b1/example-ttps/actions/inline/basic.yaml#L1-L21
     7  
     8  You can experiment with the above TTP by installing the `examples` TTP
     9  repository (skip this if `ttpforge list repos` shows that the `examples` repo is
    10  already installed):
    11  
    12  ```bash
    13  ttpforge install repo https://github.com/facebookincubator/TTPForge --name examples
    14  ```
    15  
    16  and then running the below command:
    17  
    18  ```bash
    19  ttpforge run examples//actions/inline/basic.yaml
    20  ```
    21  
    22  ## Fields
    23  
    24  You can specify the following YAML fields for the `inline:` action:
    25  
    26  - `inline:` (type: `string`) the command that you want to run.
    27  - `executor:` (type: `string`) the program that should run your command. The
    28    program you specify will be launched and your command will be sent to its
    29    STDIN. Default: `bash`.
    30  
    31  ## Notes
    32  
    33  Key things to remember about `inline:` actions:
    34  
    35  - By default, `inline` passes `-o errexit` to the `bash` executor, meaning that
    36    the failure of any single command will terminate the step and start cleanup.
    37    This prevents silent failures and makes TTPs more reliable.
    38  - Each separate `inline` action instance runs in its own shell. Sharing shell
    39    variables between different `inline` steps is not supported yet.