[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gwl-0.3.0 released [stable]

From: Ricardo Wurmus
Subject: gwl-0.3.0 released [stable]
Date: Sat, 06 Feb 2021 21:51:32 +0100
User-agent: mu4e 1.4.14; emacs 27.1

We are pleased to announce the release of the GNU Guix Workflow
Language version 0.3.0, representing 156 commits by two people.

This release contains a number of incompatible changes compared to the
previous release 0.2.1.

The biggest change is the use of an inferior Guix, which lets the
workflow languag use a well-known version of Guix (namely the “guix”
package in (gnu packages package-management)) as a library without
also using the dated package definitions of that package.  Package
lookups are instead performed through an inferior that’s opened at
~/.config/guix/current by default.

Another breaking change is the use of Guile Config for argument parsing,
which unifies the way sub-commands and arguments are handled.  The
result is that we have “run”, “graph”, and “web” sub-commands with fewer
irrelevant options at the top level.

For details see the NEWS excerpt below.  See also the updated manual:

• 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[*]:

Use a mirror for higher download bandwidth:

[*] 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.3.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 --recv-keys 

and rerun the 'gpg --verify' command.

This release was bootstrapped with the following tools:
  Autoconf 2.69
  Automake 1.16.2
  Gnulib v0.1-3269-g03d7a6b1f


* Changes in 0.3.0 (since 0.2.1)
** Command line interface
- Add sub-commands “run”, “graph”, and “web”; remove options from the main 
- =guix/scripts/workflow.scm= no longer exists.  The file is now called 
=gwl/main.scm=.  The entry point, however, is now 
=guix/extensions/workflow.scm=, and it is invoked with =guix workflow= when the 
directory is found on the new =GUIX_EXTENSIONS_PATH= environment variable 
(since Guix commit cf289d7cfa34315bf13b3114b9a5bf3d3c05ebea).
** Web interface
- GWL source snippets now have better syntax highlighting.
** Bug fixes
- handle caching of files with UTF-8 encoded file names
- handle more errors in the web interface
** Package handling
– packages are now looked up in an inferior Guix, which defaults to the current 
Guix.  This avoids the problem of loading older packages from the Guix that was 
available when the GWL was built.
- extra care is taken to ensure that the Guile load path is consistent and 
predictable, so that the version of Guix at runtime does not affect the 
behavior of the workflow language.  Only the variant of Guix that was used at 
build time is used as a library.
- the new =require-packages= form at the top of a workflow file can be used to 
specify packages that should be available when evaluating the workflow
** Error handling
- accidental keywords instead of =process= or =workflow= field names now 
trigger a more specific “invalid field” syntax error instead of generating 
invalid syntax that throws an unclear error later.
- errors when loading workflows no longer show the GWL or SRFI modules as the 
error location; instead they are limited to the source file where they 
- brace errors in code snippets are now reported with approximate location
- =pick= from =(gwl utils)= now raise error conditions when an item cannot be 
- when a code snippet references an element of a tagged list that does not 
exist, an error is thrown at runtime instead of injecting =#false=

** Workflow syntax
- new procedure =get= to access members of nested association lists by path.
** Execution engines
- The =runner= field of all execution engines is now a procedure that takes a 
list of commands and returns a list of commands.
- process properties are now passed as script arguments to allow reuse of 
generated process scripts.

Attachment: signature.asc
Description: PGP signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]