dxCompiler 2.10.1
- WDL: Fragments and blocks reuse applets as well, i.e. they are not rebuilt if the code corresponding to them hasn't been updated in the WDL source file. Previously only tasks were reused. Breaking: can break the logic of any App reuse for CWL (even tasks maybe are not reused), because
ApplicationCompiler
andWorkflowCompiler
now look at theDocContents
for checksum, andSourceCode
attribute is now ignored. - CWL:
NetworkAccess
,WorkReuse
andToolTimeLimit
hints are now supported - WDL: Update custom reorg applet (used for custom handling of your workflow outputs) example in documentation.
- WDL: Fix to the order of precedence for the different job reuse settings. The ignoreReuse setting specified in the
extras.json
file should override the dx_ignore_reuse setting specified in theruntime
section of the WDL file. - Updates to the documentation, esp. sections about delay workspace destruction, DNAnexus-specific runtime settings, and outputing DNAnexus files.
- WDL: Fix to configuring network access to tasks (applets). Now you can disable network access to your tasks with the
runSpec.access
setting in theextras.json
file:
{
"defaultTaskDxAttributes" : {
"runSpec": {
"access" : {
"network": []
}
}
}
}
However, if the task needs network access since it uses a Docker image from an external registry (e.g. DockerHub), the setting will be overwritten and full network access will be given to the task. You can prevent this by storing the Docker image as a file in your DNAnexus project.
Note that the setting above is under defaultTaskDxAttributes
, which means it will be the default setting for all tasks; follow these instructions to configure a specific task.
Dependency updates
cwlScala 0.8.1
- Fixes CWL default requirement classnames
NetworkAccess
,WorkReuse
andToolTimeLimit
so the corresponding hints can be recognized by dxCompiler (instead of being defined asGenericHints
which are not interpreted during compilation).
wdlTools 0.17.9
TAT.Workflow
has asource
attribute in analogy toTAT.Document
to be used for checksum calculation for App/Job reuse- Fixes evaluation of structs as input parameters of workflow/scatter: hash inputs are coerced from object to struct, and their optional elements are assigned to Null if not specified in job inputs.