Skip to content

Latest commit

 

History

71 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


This repository is a starting point for building and sharing workflows written in the Workflow Description Language (WDL). It includes an example workflow, a ready-to-use development environment, automated checks, and a Dockstore configuration.

Getting started

  1. Create a repository from this template.

  2. Clone your new repository, or open it in a GitHub Codespace.

  3. Replace tasks/greet.wdl and workflows/hello.wdl with your tasks and workflows. Add or update workflow input files under inputs/.

  4. Lint and test the examples:

    sprocket lint --deny-warnings --deny-notes .
    sprocket -c test/sprocket.toml dev test . --clean-all
  5. Update the test definitions in tasks/test/ and workflows/test/ so they check your tasks and workflows.

  6. To publish through Dockstore, update .github/.dockstore.yml with your workflow path, name, input file, and authors, then connect the repository to the Dockstore GitHub App. If you do not want to use Dockstore, delete .github/.dockstore.yml.

  7. Commit and push your changes. GitHub Actions will validate the WDL files with Sprocket, MiniWDL, and WOMtool, then run the Sprocket tests.

Development container

VS Code can use the development container as the environment for this repository. Files stay in your local checkout, while commands and extensions run inside the container.

To start it:

  1. Install and start Docker.
  2. Install VS Code and the Dev Containers extension.
  3. Open this repository in VS Code.
  4. Open the Command Palette and run Dev Containers: Reopen in Container.
  5. Wait for VS Code to build the container and reopen the repository. New terminals now run inside the container.

The container provides these tools:

  • sprocket checks, formats, tests, and runs WDL.
  • miniwdl checks and runs WDL locally.
  • cromwell runs workflows with the Cromwell engine.
  • womtool validates WDL for Cromwell.
  • shellcheck checks shell commands.
  • docker runs the containers used by workflow tasks.

Run Dev Containers: Rebuild Container from the Command Palette after changing .devcontainer/.

What is included

  • tasks/: reusable WDL tasks.
  • workflows/: WDL workflows that import and connect tasks.
  • tasks/test/ and workflows/test/: unit tests run by sprocket dev test.
  • inputs/: example inputs for running or publishing workflows.
  • test/sprocket.toml: local execution settings for fast unit tests.
  • .devcontainer/: a development container for Codespaces or VS Code.
  • .github/workflows/: validation with Sprocket, MiniWDL, and WOMtool, plus Sprocket tests.
  • .github/.dockstore.yml: a starting configuration for the Dockstore GitHub App.

Remove or replace the example files as your workflow grows. Keep the automated checks that are useful for your project.

License

This template is available under the BSD 3-Clause License. Update the copyright notice and license if your new repository uses different terms.

About

GitHub repository template for developing, testing, and publishing WDL workflows.

Topics

Resources

Stars

9 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages