Skip to content

Releases: chanzuckerberg/miniwdl

v1.3.3

07 Nov 22:13
Compare
Choose a tag to compare
  • Improves robustness of certain file system operations (affects reliability in network file systems with non-idempotent request retry patterns)

This version doesn't update the initial Singularity support while we still invite feedback on that.

v1.3.2

18 Oct 11:43
Compare
Choose a tag to compare
  • Fix parsing of degenerate/empty call some_task {} in workflow body
  • miniwdl run --copy-input-files-for some_task to copy input files selectively (for named tasks only)
  • New minor configuration options for scalability tuning (see default.cfg for details)

v1.3.1

18 Oct 08:34
Compare
Choose a tag to compare
v1.3.1 Pre-release
Pre-release

withdrawn

v1.3.0

11 Oct 12:11
016b181
Compare
Choose a tag to compare

Adds initial support for running WDL task containers using Singularity instead of dockerd. See #326 (comment) for further details & instructions. This feature isn't production ready yet, but meant for early testing by motivated users.

v1.2.3

28 Sep 05:13
Compare
Choose a tag to compare

PyPI version Anaconda-Server Badge Getting Started

Maintenance release:

  • S3 downloader: with [download_cli] host_credentials, ensure boto3 ImportError surfaces to operator (#518 @CarlosBorroto)
  • S3 downloader: increase max attempts in retry logic
  • bump dependencies

v1.2.2

28 Jul 10:25
Compare
Choose a tag to compare

PyPI version Anaconda-Server Badge Getting Started

Adds miniwdl run --env X to pass through environment variable X to the environment of all tasks, or --env X=foo to set X outright. (Can be supplied multiple times for different variables)

This is a non-standard side channel likely to cause portability problems for WDL tasks relying on it. It should be used only in certain circumstances where portability isn't a priority, for example passing through auth credentials for platform-specific APIs. Otherwise, it's usually better to pass explicit WDL inputs (and if necessary, set environment variables in the command script).

v1.2.1

27 Jun 08:27
Compare
Choose a tag to compare

Maintenance release:

  • Fix downloads failing on first attempt with --no-cache (put = true, get = false)
  • Fix the status bar's "ready" counter when the call cache is used
  • Set --no-cache for self-test
  • Failing self-tests generate a log file that can be attached to a support request
  • Suppress "stdout unused" warnings for downloader tasks

v1.2.0

08 Jun 10:28
Compare
Choose a tag to compare

Relax type-checking of inputs with defaults

WDL inputs declared with default initializers, input { T x = :default: }, can now be called with optional values whether or not their declared type carries the ? quantifier.

Implications & example

When called with None, the default applies if the declaration lacks the ? quantifier. This change simplifies passing optional overrides through from workflow to task, while the task internally defines the appropriate default:

workflow w {
  input {
    String? s_override
  }
  call t { input: s = s_override }
}

task t {
  input {
    String s = "some default"
  }
  ...
}

However, if caller expressly supplies None for an input that is declared optional, String? s = "some default", the WDL specification does not yet explicate whether s should take None or the default in this case. For now our implementation has it take None, but miniwdl check also flags the ambiguity with UnnecessaryQuantifier. See ongoing discussion: openwdl/wdl#464

The newly relaxed rule only applies for task/workflow call inputs; elsewhere, it remains necessary to use select_first() or select_all() to coerce an optional value to a non-optional type.

Fix bug causing runs with --no-cache to still use stale cached download, and other rare race conditions

Usability improvements for logs and error messages

v1.1.5

08 May 03:33
Compare
Choose a tag to compare
  • support task runtime.returnCodes per WDL 1.1 spec
  • insource docker image used for AWS CLI

v1.1.4

20 Apr 02:24
Compare
Choose a tag to compare

miniwdl run

  • Add -o stdout.json option to robustly redirect the outputs or error JSON (normally printed to standard output) to a file
    • unaffected if some plug-in or other code prints something else on standard output
  • Add --no-outside-imports to block WDL import statements from directories outside of that of the top-level WDL file (or a --path directory)
  • Improve certain error messages based on user feedback
  • PyYAML dependency replaces ruamel.yaml