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