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.