How to test workflows locally

Allie Hajian
  • Updated

When creating WDL workflows, you can test on a local installation of the Cromwell execution engine prior to uploading and testing in Terra. Cromwell is the workflow execution service used to run and test WDL workflows.

Cromwell is a Java application which requires the Java 8 cloud environment. Install the Java 8 Developer Kit if you do not already have it. Note that you should install the JDK, not the cloud environment or JRE.

You must also download Docker for Cromwell to work. Installation instructions can be found here.

After ensuring you have Java 8 installed on your laptop, download the latest Cromwell jar here.

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.

workflow HelloWorld {

    call WriteGreeting

task WriteGreeting {

    command {
        echo "Hello World"
    output {
        File outfile = 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. 

Was this article helpful?

0 out of 1 found this helpful

Have more questions? Submit a request



Please sign in to leave a comment.