[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gwl-0.3.0 released [stable]
gwl-0.3.0 released [stable]
Sat, 06 Feb 2021 21:51:32 +0100
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:
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.
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 keys.gnupg.net --recv-keys
and rerun the 'gpg --verify' command.
This release was bootstrapped with the following tools:
* 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.
Description: PGP signature
|[Prev in Thread]
||[Next in Thread]|
- gwl-0.3.0 released [stable],
Ricardo Wurmus <=