author: "madhava@openmined.org" project: "add" language: "python" description: "Add two numbers" code: - functions.py # Define shared resources using anchors shared_inputs: data: &data FilePipe("{datasite}/data/data.txt") output: &output FilePipe("{datasite}/fedreduce/{project}/data/{step}/result.txt") shared_outputs: result: &result FilePipe("{author}/fedreduce/{project}/data/result/result.txt") # Define the main workflow parameters workflow: datasites: - madhava@openmined.org - yash@openmined.org - rasswanth@openmined.org steps: - first: inputs: - a: StaticPipe(0) # Override input for the first step - last: output: path: *result permissions: read: - &datasites [] - foreach: *datasites run: "{datasite}" function: "add" inputs: - a: FilePipe("{prev_datasite}/fedreduce/{project}/data/{prev_step}/result.txt") - b: *data output: path: *output permissions: read: - "{next_datasite}" complete: exists: *result