initial release
The goal of this ticket is to create a simple "hello world" example demonstrating REANA use. The program will print a hello world greeting and the workflow will be a simple one-step call using Yadage workflow engine.
The file structure could be simple:
-
hello.py
--> this will print "Hello world" (or "Hello John" if an argument is given); -
Dockerfile
--> this will build a Docker image for the above so that one can do things likedocker run -i -t --rm reana-demo-helloworld Joe
; the image can be pushed toreana-demo-helloworld
on Docker Hub; -
hello.yml
--> this will contain Yadage workflow YAML file running the previous hello as the only workflow step.
Later, the hello world example should be plugged into REANA getting started guide, with an interface going like:
$ reana run hello.yml
[...]
Your output is located in workflows/b78342a6-7ec9-43dd-a5fe-c191cef551c0/output/greetings.txt
$ cat /.../outputs/greetings.txt
Hello world
or with a parameter like:
$ reana run hello.yml -p name=Joe
[...]
Your output is located in workflows/2d9ec07e-711c-4b72-9e0c-9453699907bc/output/greetings.txt
$ cat /.../outputs/greetings.txt
Hello Joe
(Note: it would be good if hello
generates output file greetings.txt
containing the greeting, instead of printing the greeting on stdout, so that we can test shared file space allocation for workflows.)
We shall use the hello world later on for easy integration testing of REANA components.