v0.15.0
0.15.0 (2023-10-24)
This release adds a major new feature to simpleaf
, the ability to patch workflows (either workflow templates, or fully-instantiated manifests). Detailed documentation about the patch
sub-command of the workflow
command is provided in the corresponding documentation page. However, at a high-level, the main idea is that patching lets one take a workflow template, where many of the relevant fields have been filled out by the user, and then programatically generate many manifests where specific fields are parameterized by an input parameter table. In simpler terms, provides the ability to use a sample table to automatically generate many workflow manifests, one per sample, that can then be executed by simpleaf
.
However, the patching mechanism is both more flexible and general than the ability to simply provide a sample table, as any valid fields in the workflow can be overridden, and since patches are applied before instantiation of the workflow template into a manifest, it is even possible to patch top-level variables that affect many parts of the configuration. Yet, we imagine that "sample sheet" functionality will be the most common use-case for the patch
sub-command, and so that capability should be relatively easy and straightforward to use. We encourage users to try out this feature and please provide feedback and suggestions to improve the user experience!
In addition to this major new feature, this release also incorporates several small but important changes detailed below.
Support for advanced indexing and mapping options exposed in piscem >= 0.7
Piscem 0.7 introduces a new option during indexing, and several new (optional) parameters during mapping. These are now exposed in the latest version of simpleaf
. Note, these parameters do not make sense if you are not using piscem
for mapping, or if your version of piscem
is < 0.7. Thus, simpleaf
will issue an error if you attempt to use the new piscem
indexing flag with an older version of piscem
. Likewise, during mapping, simpleaf
will issue a warning and drop the new mapping parameters if you are using an older version of piscem
(however, if intended these warnings can be safely ignored, they simply designate that the new flags will not be applied to the mapping process).
Updates to protocol estuary workflows
As our understanding of the capabilities and common idioms in the powerful jsonnet
languages has evloved, so to has the structure of the workflows we have developed in the protocol estuary. It is therefore essential that, when updating to this new version of simpleaf
, you refresh
your local copy of the protocol estuary by issuing the simpleaf workflow refresh
command.
The updated templates have been written to be cleaner, to avoid redundancy where possible, and critically, to support the key new feature of patching templates and manifests. In addition to a rewrite of the workflow templates, some changes have been made to the system varaiable names assumed in templates by simpleaf
.
Updates to reserved names in templates
The following "system variables" (i.e. important variable names assumed by simpleaf
when parsing and processing workflows) have changed.
Arguments
=>arguments
Active
=>active
Step
=>step
Program Name
=>program_name
Updates to common fields in protocol estuary templates
Additionally, while not required for the structure of user-developed workflows, or directly part of the system variables assumed by simpleaf
, the main components of the protocol estuary templates have been changed as indicated below. In general, for unifiormity, we recommend these as relevant section names in user-developed workflows.
Recommended Configuration
=>fast_config
Optional Configuration
=>advanced_config
Features
-
support for workflow template and manifest patching.
-
advanced params for piscem >= 0.7 (a19b492)