* gwl-0.3.0 released [stable]
@ 2021-02-06 20:51 Ricardo Wurmus
0 siblings, 0 replies; only message in thread
From: Ricardo Wurmus @ 2021-02-06 20:51 UTC (permalink / raw)
To: info-gnu; +Cc: gwl-devel
[-- Attachment #1: Type: text/plain, Size: 4543 bytes --]
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 BCA689B636553801C3C62150197A5888235FACAC
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 command.
- =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 originated.
- brace errors in code snippets are now reported with approximate location
- =pick= from =(gwl utils)= now raise error conditions when an item cannot be found.
- 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 #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 511 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-02-06 20:51 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-06 20:51 gwl-0.3.0 released [stable] Ricardo Wurmus
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).