When creating WDL workflows, you can test on a local installation of the Cromwell execution engine before uploading and testing in Terra. Cromwell is the workflow execution service used to run and test WDL workflows.
What is Cromwell?
Cromwell is a Java workflow management application that requires the Java 11 cloud environment.
Cromwell is developed, tested, and containerized using AdoptOpenJDK 11 HotSpot.
How to install Cromwell and its dependencies
For full step-by-step instructions, see the Five minute introduction to Cromwell tutorial.
1. Install the Java 11 Developer Kit if you do not already have it. Note: You should install the JDK, not the cloud environment or JRE.
Why use Java Development Kit packages?We point to the “JDK” (Java Development Kit) packages because they are the most complete Java packages (suitable for developing in Java as well as running Java executables), and we've had reports that the “JRE” (Java Runtime Environment) equivalents weren't sufficient to run GATK on some machines.
2. Download Docker. Installation instructions can be found here.
3. Download the latest Cromwell jar here. Note: be sure to do this after installing Java 11.
Test that your environment is set up correctly
To test that your environment works, try running the HelloWorld WDL below. You don't need an inputs file to run this workflow, and the output should be Hello World
written in the stdout
file.
workflowHelloWorld {callWriteGreeting}taskWriteGreeting {command{echo"Hello World"}output{Fileoutfile = stdout()}}
Once you verify that you can run WDLs locally, you can develop and test WDLs of any length on your own machine, before uploading to the Broad Methods Repository or Dockstore to share and use on Terra.