We are pleased to announce the release of the GNU Guix Workflow Language version 0.4.0, representing 60 commits by one person that are the result of discussions among a number of helpful people on the #guix and #guix-hpc IRC channels on libera.chat and on the gwl-devel@gnu.org mailing list. Special thanks go to Simon Tournier and Ludovic Courtès for their patience, support, and insightful comments. The biggest change compared to the previous release is likely the support of job submissions to an HPC job scheduler via DRMAA, using the new Guile bindings for DRMAA v1[1]. These Guile bindings would not have been possible without Matt Wette, his helpful comments, and his most excellent FFI helper (part of nyacc). [1]: https://git.elephly.net/software/guile-drmaa.git [2]: https://www.nongnu.org/nyacc/ For details see the NEWS excerpt below. See also the updated manual: https://workflows.guix.info/manual/ An real-world example workflow is included in the doc/examples/pigx-rnaseq directory of the source repository. • About The Guix Workflow Language (GWL) provides an extension to GNU Guix's declarative language for package management to automate the execution of programs in scientific workflows. The GWL can use process engines to integrate with various computing environments. • Download Here are the compressed sources and a GPG detached signature[*]: https://ftpmirror.gnu.org/gwl/gwl-0.4.0.tar.gz https://ftpmirror.gnu.org/gwl/gwl-0.4.0.tar.gz.sig Use a mirror for higher download bandwidth: https://www.gnu.org/order/ftp.html [*] Use a .sig file to verify that the corresponding file (without the .sig suffix) is intact. First, be sure to download both the .sig file and the corresponding tarball. Then, run a command like this: gpg --verify gwl-0.4.0.tar.gz.sig If that command fails because you don't have the required public key, then run this command to import it: gpg --keyserver keys.openpgp.org --recv-keys BCA689B636553801C3C62150197A5888235FACAC and rerun the 'gpg --verify' command. This release was bootstrapped with the following tools: Autoconf 2.69 Automake 1.16.3 Gnulib v0.1-3269-g03d7a6b1f NEWS * Changes in 0.4.0 (since 0.3.0) ** Workflow syntax - the new =workflow= fields =before= and =after= can be used to specify procedures that are run before and after the workflow runs. This can be useful for printing banners or further instructions. - new procedure =display-file= to print the content of files ** Execution engines - Process engines can now specify a procedure in the =check= field to validate the execution environment before running the workflow. - Process engines have a new =run= field specifying how ordered processes should be iterated over. - The new =drmaa-engine= supports job submission to schedulers implementing DRMAA version 1. - The =grid-engine= is deprecated and will be removed in future releases. Use the =drmaa-engine= instead. ** Bug fixes - the cache feature would symlink if hardlinking was not possible. This was incorrect and now it falls back to copying files to and from the cache when hardlinking fails. -- Ricardo