public inbox for ravanan@systemreboot.net
 help / color / mirror / Atom feed
From: Arun Isaac <arunisaac@systemreboot.net>
To: Nicolas Graves <ngraves@ngraves.fr>, ravanan@systemreboot.net
Subject: Re: Some ravanan feedback
Date: Tue, 18 Mar 2025 18:21:48 +0000	[thread overview]
Message-ID: <87bjtyjj2b.fsf@systemreboot.net> (raw)
In-Reply-To: <874izxug6f.fsf@ngraves.fr>


Hi Nicolas,

> https://github.com/nfdi4plants/cwl-examples
>
> and the following changes : 
>
> modified   run-python-script/test.cwl

I have fixed the issue with running this workflow. It was a bug in
canonicalizing File type inputs.
https://git.systemreboot.net/ravanan/commit/?id=9be0612b4b486f7d96ddd71c156be9284eff30b2
I have also added tests to catch this.
https://git.systemreboot.net/ravanan/commit/?id=af43d1fa1bafd8f9e641da16eca45e0795af7935

> @@ -3,8 +3,9 @@
>  cwlVersion: v1.2
>  class: CommandLineTool
>  hints:
> -  DockerRequirement:
> -    dockerPull: python:latest
> +  SoftwareRequirement:
> +    packages:
> +      python
>  baseCommand: python

The baseCommand needs to be changed to python3. If not, you can also use
the python-wrapper package.

With these changes, I run ravanan like so:

ravanan --store=store /tmp/cwl-examples/run-python-script/test.cwl
/tmp/cwl-examples/run-python-script/testRun.yml

and I get the following. It works.

--8<---------------cut here---------------start------------->8---
WARNING: (guix ui): imported module (guix diagnostics) overrides core binding `info'
WARNING: (ravanan command-line-tool): imported module (rnrs conditions) overrides core binding `&error'
/tmp/cwl-examples/run-python-script/test.py previously interned into store as /home/arun/Projects/ravanan/store/files/fc29e96825193827a8ab943f9201b8a935be4780-test.py
building path(s) `/gnu/store/9mqspgkknz3q55x7b12pg830anml975h-ca-certificate-bundle'
building path(s) `/gnu/store/8agn2i7ykqhbx4jkkiwnfxaknlkx4bsg-emacs-subdirs'
building path(s) `/gnu/store/h4k77l6xhrbwqwgin0bc5ljj5bxy19nz-fonts-dir'
building path(s) `/gnu/store/cvz9046gm0i2nqpr5nphsr7jg4hbw3ai-info-dir'
building path(s) `/gnu/store/xckk1ns8xy49m6m09cn4fx4k4hncrwwf-profile'
building path(s) `/gnu/store/4vrfghzrjd4kkkzr32yrjmq0jkvf2pfj-test'
Running /gnu/store/4vrfghzrjd4kkkzr32yrjmq0jkvf2pfj-test
/gnu/store/4vrfghzrjd4kkkzr32yrjmq0jkvf2pfj-test completed; logs at /home/arun/Projects/ravanan/store/logs/4vrfghzrjd4kkkzr32yrjmq0jkvf2pfj-test.stdout and /home/arun/Projects/ravanan/store/logs/4vrfghzrjd4kkkzr32yrjmq0jkvf2pfj-test.stderr
{
  "example_out": {
    "class": "File",
    "basename": "output.txt",
    "nameroot": "output",
    "nameext": ".txt",
    "size": 110,
    "checksum": "sha1$7c41bfd87ed9d66d64c44f433f7a7c40bec5d52f",
    "location": "file:///home/arun/Projects/ravanan/store/files/4vrfghzrjd4kkkzr32yrjmq0jkvf2pfj-test/output.txt",
    "path": "/home/arun/Projects/ravanan/store/files/4vrfghzrjd4kkkzr32yrjmq0jkvf2pfj-test/output.txt"
  }
}
--8<---------------cut here---------------end--------------->8---

> I happen to have such a backtrace :
>
> Backtrace:
> In ice-9/eval.scm:
>     619:8 19 (_ #(#(#(#(#(#(#(#(#(#(#(…) …) …) …) …) …) …) …) …) …) …))
>    293:34 18 (_ #(#(#(#(#(#(#(#(#(#(#(…) …) …) …) …) …) …) …) …) …) …))
> In ice-9/boot-9.scm:
>     724:2 17 (call-with-prompt ("prompt") #<procedure 7f2b83800180 …> …)
>   1752:10 16 (with-exception-handler _ _ #:unwind? _ # _)
>     152:2 15 (with-fluid* _ _ _)
> In ice-9/exceptions.scm:
>    406:15 14 (run-workflow _ _ _ _ _ _ _ _ #:guix-daemon-socket _)
> In ice-9/boot-9.scm:
>   1752:10 13 (with-exception-handler _ _ #:unwind? _ # _)
> In ravanan/workflow.scm:
>    592:26 12 (_)
>    293:29 11 (schedule _ _ _)
> In ravanan/command-line-tool.scm:
>    361:10 10 (run-command-line-tool "test" #f #f (("baseCom…" . #) …) …)
>    828:13  9 (build-command-line-tool-script "test" _ #f _ ((# …) …) …)
>    831:21  8 (_ _)
> In ravanan/work/vectors.scm:
>      62:3  7 (vector-map->list _ _ . _)
> In srfi/srfi-43.scm:
>     376:5  6 (vector-fold #<procedure 7f2b838258a0 at ravanan/work/…> …)
> In ice-9/boot-9.scm:
>   1685:16  5 (raise-exception _ #:continuable? _)
>   1683:16  4 (raise-exception _ #:continuable? _)
> In ice-9/eval.scm:
>    293:34  3 (_ #(#(#<directory (guile-user) 7f2ba26d8c80> ("p…")) #))
>    182:19  2 (proc #(#(#<directory (guile-user) 7f2ba26d8c80> (#)) #))
>    142:16  1 (compile-top-call #<directory (guile-user) 7f2ba26d8c80> …)
> In unknown file:
>            0 (%resolve-variable (7 . manifest-file-error?)
> #<directo…>)

Sorry the backtraces are terrible. I haven't yet invested much effort in
fixing them. These are early days for ravanan, I'm afraid.

> I don't know if there's a database to test against, here they have the
> notion of "self-reported compliance" but it seems unclear / case-by-case
> to see where those compliance tests are implemented and if you can use
> them as a base to test against.

The CWL conformance test suite is at
https://github.com/common-workflow-language/cwl-v1.2/tree/main/tests

Information on how to run them is at
https://github.com/common-workflow-language/cwl-v1.2/blob/main/CONFORMANCE_TESTS.md

I have run the test suite on my local machine. I need to wire this up
into the CI. I plan to do that in the coming weeks.

Regards,
Arun

      reply	other threads:[~2025-03-18 18:21 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <871pv4kz0h.fsf@ngraves.fr>
     [not found] ` <87cyenph7i.fsf@systemreboot.net>
2025-03-13 15:02   ` Nicolas Graves
2025-03-18 18:21     ` Arun Isaac [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87bjtyjj2b.fsf@systemreboot.net \
    --to=arunisaac@systemreboot.net \
    --cc=ngraves@ngraves.fr \
    --cc=ravanan@systemreboot.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox