howto Set up an environment to test your workflows locally
IMPORTANT: This is the legacy GATK documentation. This information is only valid until Dec 31st 2019. For latest documentation and forum click here
created by KateN
on 2017-12-14
When creating [WDL](https://software.broadinstitute.org/firecloud/documentation/article?id=10963) workflows, you can test on a local installation of the [Cromwell execution engine](https://software.broadinstitute.org/firecloud/documentation/article?id=10959) prior to uploading and testing in FireCloud. Cromwell is the workflow execution service used to run and test WDL workflows.
Cromwell is a Java application which requires the Java 8 runtime environment. Install the [Java 8 Developer Kit](http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html) if you do not already have it. It is important to note that you should install the JDK, not the runtime environment or JRE.
You must also download [Docker](https://software.broadinstitute.org/firecloud/documentation/article?id=11252) for Cromwell to work. Installation instructions can be found [here](https://docs.docker.com/installation).
After ensuring you have Java 8 installed on your laptop, download the latest Cromwell jar [here](https://github.com/broadinstitute/cromwell/releases/latest).
To test that your environment works, try running the HelloWorld wdl below. You do not need an inputs file to run this workflow, and the output should be `Hello World` written in the `stdout` file.
```
workflow HelloWorld {
call WriteGreeting
}
task WriteGreeting {
command { echo “Hello World“ } output { File outfile = stdout() }
}
```
Updated on 2018-04-27