guix-devel
[Top][All Lists]
Advanced

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

Re: Workflow management with GNU Guix


From: Ludovic Courtès
Subject: Re: Workflow management with GNU Guix
Date: Thu, 12 May 2016 18:06:56 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Hello Guix!

Roel Janssen <address@hidden> skribis:

> So, I would like to propose a new Guix subcommand and an extension to
> the package management language to add workflow management features.
>
> Would this be a feature you are interested in adding to GNU Guix?

I don’t know if it should be in Guix itself (and it’s probably too early
to think about it), but there’s definitely interest in it!

Pjotr mentioned it before, and Ricardo started a thread on this topic on
help-guix in February¹, where we discussed something similar to what you
proposed.  I agree with you that Guix should be a nice tool for the job.

¹ https://lists.gnu.org/archive/html/help-guix/2016-02/msg00019.html

> I'm currently working on a proof-of-concept implementation that has three
> record types/levels of abstraction:
> <workflow>:  Describes which <process>es should be run, and concerns itself 
> with
>              the order of execution.
>
> <process>:   Describes what packages are needed to run the programs involved,
>              and its relationship to other processes.  Processes take input 
> and
>              generate output much like the package construction process.
>
> <script>:    Short and simple imperative instructions to perform a task. They 
> are
>              part of a <process>.  Currently, my implementation generates a 
> shell
>              script that can be either Guile, Sh, Perl or Python.

In the previous discussion, I thought that a gexp would be enough to
write a derivation that implements a workflow.  That is, basically you’d
write:

  (define (my-workflow input)
    (gexp->derivation "result" #~(process-the-thing #$input #$output)))

Maybe it’s all it takes to represent a workflow?  Or maybe my idea of
what workflows look like is too naive.

> The subcommand I envision is:
>   guix workflow
>
> With primarily:
>   guix workflow --run=<name-of-workflow-definition>
>
> If you are interested in adding any form of workflow management to GNU Guix, I
> can elaborate on my proof-of-concept implementation, so we can work from 
> there.
> (or throw everything out of the window and start from scratch ;-))

I’m interested in seeing what it’s like, and examples of it!

Thanks,
Ludo’.



reply via email to

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