Releases: dnanexus/dxCompiler
Releases Β· dnanexus/dxCompiler
dxCompiler 2.10.9
- dxda update to
v0.5.12
which adds a retry for file download. This fixes the "context canceled" error which was
thrown due to thedxda
behavior.
Dependency updates
dxApi 0.13.5
dxCompiler 2.10.8
- WDL: fixes a runtime error when a scatter over an empty array tries to return an empty array. Error occurred
specifically when a task wrapped in a scatter fragment had an array among the outputs. Currently, evaluation of a task
over an empty array returns an empty array, and the wrapped task is not executed. - WDL: fixes a runtime error when a private variable is accessed by index then by key (e.g.
my_var[0].left
). - Minor: error message now suggests to compile with
-archive
flag instead of the deprecated-a
flag when an applet
with duplicate name exists. - Minor. WDL: removed obsolete warning messages when compiling with
parameter_meta
section in WDL source.
Dependency updates
dxApi 0.13.4
- Fixes handling of
suggestions
field for IO specs when only project ID is specified. Now instead of exception
a warning is thrown.
dxCompiler 2.10.7
dxda
update tov0.5.10
which adds a retry for file download. This fixes the "context canceled" error which was
thrown due to thedxda
behavior.- Added support for new region in Azure London, specifically for OFH projects
Dependency updates
wdlTools 0.17.15
- Minor fixes and refactoring
dxCompiler 2.10.6
- Support for
Directory
outputs in the WDLdevelopment
version. Note that the dxCompiler support for thedevelopment
version of WDL is under development and not yet production-ready. - Minor fixes of type coercion. It includes a fix to the "Value V_String(1.0 GiB) could not be coerced to one of Vector(T_Int)" error when settingΒ
Runtime.memory
Β as a string in aΒdevelopment
Β version task, for example:
task {
...
runtime {
memory: "1 GiB"
}
}
Dependency updates
wdlTools 0.17.14
- Support for
Directory
outputs in the WDLdevelopment
version - Minor fixes of type coercion
dxCompiler 2.10.5
- Fix for callable recompilation if the Struct composition was changed
Dependency updates
wdlTools 0.17.13
- Fix for V_Directory in Struct to Directory input
dxCompiler 2.10.4
- CWL: fixed target tool id when overriding docker requirement. File ID of an image provided in
DockerRequirement.dockerLoad
in a CWL workflow is now correctly mapped and detected upon override. - WDL: manifest mode correctly handles non-fully qualified file IDs (updated dxScala: api)
Dependency updates
dxApi 0.13.3
- Handling of non-fully qualified file IDs for bulk search/describe. Now for the files provided without the project ID,
thedescribe
response will be returned only for current workspace/project. If a file was cloned to other projects, they
will be ignored. Non-fully qualified file IDs are not allowed when searching files in other projects. - Regression tests for API calls to platform
dxCommon 0.11.4
- Fix for handling 503 error in dx CLI when API requests are throttled
dxFileAccessProtocols 0.5.5
- Dependency update
wdlTools 0.17.12
- Optional types are preserved when using outputs from the standard library functions without explicit declaration.
dxCompiler 2.10.3
- WDL: (WDL >= 1.1) Fix for nested workflows when compiled in the unlocked mode: optional inputs with
None
as default are coerced correctly. - CWL: Fix for merging optional source inputs. If an input is a collection (e.g. an array), where some items are the type of
"null"
, it is correctly merged when MultipleInputFeatureRequirement is specified. - CWL: Fix for making target step argument for cwltool.
- CWL: Added support for "metadata" field for input files in CWL under development (pending inclusion in CWL standard).
- CWL: fix casting cwl types from scatter to scatter.
- CWL: Fix for parameter mapping for output stage of the workflow.
dxCompiler 2.10.2
- WDL: Fix to native app(let)s instance override with system requirements (cpu/memory/disks) in case of the direct calls and executions within fragments. Only
-instanceTypeSelection static
(default) is supported. If compiled withdynamic
- default instances will be used. - CWL: Partial implementation of task/fragment applets and workflows reuse. Same as in WDL, the
DocContents
attribute, which is the part of source code that defines each executable, is now used for checksum calculation and comparison. However, since the CWL source code is packed as a nested JSON file (instead of standalone blocks in WDL), fragment applets and workflows will also include the code of all underlying processes in theirDocContents
, and they will not be reused if the wrapped applets/subworkflows have changed. - CWL: Fix evaluating scatter inputs during workflow execution. It would no longer raise an error if optional inputs of the underlying task are not declared at the scatter level.
- CWL & WDL: Keep the Docker container after a task finishes running, so users can debug Docker related job failures.
- CWL: Fix to the
pattern
handling fromsecondaryFiles
at workflow level during compilation
Dependency updates
wdlTools 0.17.11
- Keep the Docker container after a task finishes running, so users can debug Docker related job failures.
- Runtime object is aware if it was created with default system requirements
dxCommon 0.11.3
- Fix
JsUtils.makeDeterministic
to handleJsArrays
sorting
cwlScala 0.8.3
- Updated cwljava with fixes to secondaryFiles with pattern field when parsing workflow-level parameters and the helper function utils.Uris.shortname to generate enum symbols without namespaces
- Updated cwljava to 1.0
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.
dxCompiler 2.10.0
- CWL: All tasks and workflows conformance tests now pass
- CWL: Allow a valid CWL identifier that starts with a number or other characters disallowed by the DNAnexus platform
- Valid CWL IDs starting with disallowed characters will be padded with an extra "___" when generating the full encoded name, which will still be a valid CWL ID (as an URI) when decoded
- CWL: Fix to an error with execution of nested workflow step due to incorrect step identifiers. Previously it prevented running of workflows with the
--single-process
flag. - WDL: Minor fixes with directory path handling when passing
-separateOutputs
flag- When a workflow was compiled with the -separateOutputs flag, it would result in an error at runtime saying "InvalidInput: Folder path must start with /."
- WDL: Fix an issue with optional identifiers not found when they were a part of an unused expression
- Fix an issue where a
dbcluster
object stored in a project in which a workflow was run was causing a runtime error, if the workflow was compiled with the-reorg
flag.
Dependency updates
dxApi 0.13.2
- Added database and dbcluster to the list of DNAnexus data objects that are recognized and can be described
dxFileAccessProtocols 0.5.4
- Fix to the issue where
-separateOutputs
option was causing a dx API runtime error due to a missing leading/
in folder path
wdlTools 0.17.8
- Input variables are now evaluated and added to the dependency graph, even when they are optional and not used. They need to be a part of the graph in the case when they are assigned to other (unused) variables for a proper expression evaluation.