Skip to content

Releases: viash-io/viash

viash 0.3.0 (2020-11-24)

24 Nov 13:37
Compare
Choose a tag to compare

BREAKING CHANGES

  • File format functionality.yaml is no longer supported. Use config.vsh.yaml or script.vsh.R/py/... instead.

  • viash run and viash test: By default, temporary files are removed when the execution succeeded, otherwise they are kept.
    This behaviour can be overridden by specifying --keep true to always keep the temporary files, and --keep false to always remove them.

  • NXF: function_type: todir now returns the output directory on the Channel rather than its contents.

NEW FEATURES

  • Added viash ns test: Run all tests in a particular namespace. For each test, the exit code and duration is reported. Results can be written to a tsv file.
  • Added support for JavaScript scripts.
  • Added support for Scala scripts.
  • [NXF] publishing has a few more options:
    • publish: Publish or yes (default is false)
    • per_id: Publish results in directories containing the unique (sample) ID (default is true)
    • path: A prefix path for the results to be published (default is empty)
  • Functionality resources and tests: Allow copying whole directories instead of only single files. Also allow to rename the destination folder by specifying a value for 'dest'.
  • Platform R / Python dependencies: Allow running a simple command.

MAJOR CHANGES

  • The -P <platform> parameter will be deprecated. For now, all -P values are simply passed to -p.
  • viash ns build and viash ns test: Now use all available platforms if -p is not specified.
  • By default, python packages will not be installed as user. Use user: true to modify this behaviour.

MINOR CHANGES

  • Name of autogenerated Docker image is now ns/tool.
  • Internal changes to make it easier to extend viash with more scripting languages.
  • NXF: Default image is now ns/tool for consistency.
  • NXF: Repurpose asis function type for having simple publishing steps (see docs).
  • NXF: Add component name to main process name
  • R dependencies: by default, do not reinstall Bioconductor packages. Set bioc_force_install: true to revert this behaviour.

BUG FIXES

  • viash build: Do not display error messages when pwd is not a git repository.

TESTING

  • viash test: Add tests for viash test functionality.

viash 0.2.2 (2020-09-22)

26 Oct 07:31
Compare
Choose a tag to compare
  • MINOR CHANGE: Allow generating placeholder without VIASH START/VIASH END blocks.
  • BUG FIX viash ns build: Some platforms would sometimes not be detected.
  • BUG FIX viash run: Avoid error when no arguments need to be chowned.

viash v0.2.1 (2020-09-11)

26 Oct 07:27
Compare
Choose a tag to compare
  • NEW FEATURE NXF: Data references in Map form can now have values being lists. In other words, we can have multiple options which have one or more values.
  • NEW FEATURE viash ns build: Added --parallel and --setup flag.
  • NEW FEATURE viash build: Added --setup flag.
  • NEW FEATURE: Allow changing the order of setup commands using the setup: variable.
  • NEW (HIDDEN) FEATURE: Do not escape ${VIASH_...} elements in default values and descriptions!
  • MINOR CHANGE: Remove ---chown flag, move to platform.docker.chown; is set to true by default.
  • MINOR CHANGE: Perform chown during both run and test using a Docker platform.
  • BUG FIX: Issue trying to parse positional arguments even when none is provided.

viash v0.2.0 (2020-09-01)

01 Sep 09:16
Compare
Choose a tag to compare

NEW FEATURES

  • Allow (optional) version attributes in functionality.yaml and platform.yaml.
  • Allow testing a component with the viash test functionality. Tests are executed in a temporary directory on the specified platform. The temporary directory contains all the resource and test files.
  • viash --version: Add flag for printing the version of viash.
  • Allow fetching resources from URL (http:// and https://)
  • Allow retrieving functionality and platform YAMLs from URL.
  • For docker containers, autoresolve path names of files. Use ---v path:path or ---volume path:path to manually mount a specific folder.
  • Implement parameter multiplicity.
    Set multiple: true to denote an argument to have higher multiplicity.
    Run ./cmd --foo one --foo two --foo three:four in order for multiple values to be added to the same parameter list.
  • Added a new format for defining functionality in which the user passes the script in which the functionality and platforms are listed as yaml headers.
  • A ---chown flag has been added to Docker executables to automatically change the ownership of output files to the current user.
  • viash ns build: A command for building a whole namespace.
  • [NXF] Join operations are now fully supported by means of multiple.
  • [NXF] Modules that perform joins can take either arrays (multiple input files or the same type to be joined) or hashes (multiple input files passed using different options on the CLI). Please refer to the docs for more info.

MAJOR CHANGES

  • Remove passthrough parameters.
  • Since CLI generation is now performed in the outer script, viash pimp has been deprecated.
  • (WIP) Write out meta.yaml containing viash run information as well as the original functionality.yaml and platform.yaml content.
  • Renamed viash export to viash build.

MINOR CHANGES

  • viash run and viash test: Allow changing the temporary directory by defining VIASH_TEMP as a environment variable. Temporary directories are cleaned up after successful executions.
  • viash run and viash test: Exit(1) when execution or test fails.
  • viash build: Add -m flag for outputting metadata after build.
  • viash run: Required parameters can have a default value now. Produce error when a required parameter is not passed, even when a default is provided.
  • [NXF] Modules are now stored under target/nextflow by default

BUG FIXES

  • NXF: Correctly escape path variable when running NXF command.
  • NXF: Surround parameters with quotes when running NXF command.

INTERNAL CHANGES

  • Move CLI from inner script to outer script.
  • Renamed Target to Platform
  • Renamed Environment to Requirements

viash v0.1.1

11 Jun 13:43
Compare
Choose a tag to compare
viash v0.1.1 Pre-release
Pre-release

changelog

  • TESTING: Implement viash test functionality.
  • MINOR CHANGES viash test: Tests are now executed in the resources directory.
  • MINOR CHANGES viash test: The path of the resources directory is printed if verbose.
  • MINOR CHANGES viash test: Clean up temporary directories after successful test.
  • MINOR CHANGES viash run: Clean up temporary directories after run (whether successful or not).

viash v0.1.0

14 May 08:35
Compare
Choose a tag to compare

changelog

  • MAJOR CHANGES: Refactoring of the Functionality class as discussed in VIP1 (#1). This has resulted in a lot of internal changes, but the changes with regard to the yaml definitions are relatively minor. See the section below for more info.
  • MINOR CHANGES: Updated the functionality.yamls under atoms/ and src/test/ to reflect these aforementioned changes.
  • BUG FIX: Do not quote passthrough flags.
  • BUG FIX: Allow for spaces inside of Docker volume paths.
  • DOCUMENTATION: Updated the README.md.
  • DOCUMENTATION: Provide some small examples at doc/examples.
  • MINOR CHANGES: Allow for bioconductor and other repositories in the R environment.
  • MINOR CHANGES: Add support for pip versioning syntax.

Changes to functionality.yaml

  • ftype has been renamed to function_type. The value for this field is also being checked.
  • platform has been removed.
  • Instead, the first resource listed is expected to have type: r_script, type: bash_script, type: python_script, or type: executable. The other resources are expected to have type: file by default, and are left untouched by Viash.
  • in the arguments, field flagValue has been removed. Instead, use type: boolean_true and type: boolean_false to achieve the same effect.

Changes to platform_(docker/native).yaml

  • The r: packages: field has been renamed to r: cran:.