Age | Commit message (Expand) | Author |
5 days | command-line-tool: Strip store hash when copying out of the store.•••Without stripping the hashes, the primary and secondary files have
different hash prefixes. This interferes with successful command
execution.
* ravanan/command-line-tool.scm (copy-input-files-gexp): Strip store
hash when copying files out of the store into the temporary inputs
directory. Update basename, nameroot and nameext accordingly.
| Arun Isaac |
5 days | store: Update basename, nameroot and nameext when interning files.•••* ravanan/store.scm (intern-file): Update basename, nameroot and
nameext.
| Arun Isaac |
6 days | workflow: Use secondary-path.•••* ravanan/workflow.scm (resolve-inputs)[match-secondary-file-pattern]:
Accept secondary-file. Call secondary-path.
[check-secondary-files]: Pass secondary-file, instead of just the
pattern, to match-secondary-file-pattern.
| Arun Isaac |
6 days | command-line-tool: Move secondary-path to work module.•••* ravanan/command-line-tool.scm (build-command-line-tool-script): Move
to ...
* ravanan/work/command-line-tool.scm (secondary-path): ... here.
| Arun Isaac |
6 days | command-line-tool: Pass secondary-file to secondary-path.•••* ravanan/command-line-tool.scm (build-command-line-tool-script): Pass
secondary-file, not pattern, to secondary-path.
| Arun Isaac |
6 days | command-line-tool: Stage secondary files too.•••* ravanan/command-line-tool.scm (build-command-line-tool-script):
Stage secondary files too.
| Arun Isaac |
6 days | reader: Use canonicalize-file-value.•••* ravanan/reader.scm (normalize-input): Use canonicalize-file-value.
| Arun Isaac |
6 days | work/command-line-tool: Comment on trusting the checksum.•••* ravanan/work/command-line-tool.scm (canonicalize-file-value):
Comment on trusting the checksum.
| Arun Isaac |
6 days | work/command-line-tool: Canonicalize secondary files too.•••* ravanan/work/command-line-tool.scm (canonicalize-file-value):
Canonicalize secondary files too.
| Arun Isaac |
6 days | work/command-line-tool: Handle absent path and location correctly.•••* ravanan/work/command-line-tool.scm (canonicalize-file-value): Handle
absent path and location correctly.
| Arun Isaac |
6 days | reader: Move location->path to work module.•••* ravanan/reader.scm (location->path): Move to ...
* ravanan/work/command-line-tool.scm (location->path): ... here.
| Arun Isaac |
6 days | command-line-tool: Move canonicalize-file-value to work module.•••* ravanan/command-line-tool.scm (build-command-line-tool-script): Move
canonicalize-file-value to ...
* ravanan/work/command-line-tool.scm (canonicalize-file-value): ...
here.
| Arun Isaac |
11 days | command-line-tool: Abstract out handling of SecondaryFile pattern.•••*
ravanan/command-line-tool.scm (build-command-line-tool-script)[secondary-path]:
New function.
[capture-secondary-file]: Use secondary-path.
| Arun Isaac |
11 days | command-line-tool: Abstract out file staging into its own function.•••*
ravanan/command-line-tool.scm (build-command-line-tool-script)[stage-file]:
New function.
[stage-files]: Use stage-file.
| Arun Isaac |
14 days | store: Intern secondary files.•••* ravanan/store.scm: Import (srfi srfi-26) and (ravanan work vectors).
(intern-file): Intern secondary files.
(%store-hash-length): New variable.
(store-item-name): New public function.
* ravanan/workflow.scm (resolve-inputs)[match-secondary-file-pattern]:
Strip store hashes before matching secondary file patterns.
| Arun Isaac |
14 days | dir-locals: Indent call-with-atomic-output-file correctly.•••* .dir-locals.el (scheme-mode): Indent call-with-atomic-output-file
correctly.
| Arun Isaac |
2025-03-18 | tests: Fix typo in test.•••* tests/reader.scm ("Normalize array of File arrays type formal
output"): Replace normalize-formal-input with normalize-formal-output.
| Arun Isaac |
2025-03-18 | tests: Tolerate only path or location in File type inputs.•••* tests/reader.scm: Import (ice-9 filesystem), (web uri), (ravanan
work command-line-tool) and (ravanan work utils).
(normalize-input): New variable.
("Normalize inputs with only location", "Normalize inputs with only
path"): New tests.
| Arun Isaac |
2025-03-18 | reader: Canonicalize File inputs completely in reader.•••It is the reader's job to completely canonicalize File type inputs.
This should not be done later when the workflow is executing.
* ravanan/reader.scm: Import (web uri).
(normalize-formal-input): Normalize default value.
(location->path): New function.
(normalize-input): Canonicalize File type input completely.
* ravanan/workflow.scm (workflow-scheduler): Update comment about
partially specified File objects.
(location->path): Delete function.
(resolve-inputs): Do not canonicalize File type inputs; they already
are.
| Arun Isaac |
2025-03-18 | reader: Spin off input normalization into separate function.•••Separate functions are easier to test.
* ravanan/reader.scm (read-inputs): Spin off input normalization into
...
(normalize-input): ... new function.
| Arun Isaac |
2025-02-28 | README: Add Contributing section.•••* README.md (Contributing): New section.
| Arun Isaac |
2025-02-24 | command-line-tool: Pass package versions separately to inferior.•••* ravanan/command-line-tool.scm (software-packages->environment): Pass
package versions as separate argument to lookup-inferior-packages.
| Arun Isaac |
2025-02-24 | command-line-tool: Handle SoftwarePackage in helper function.•••* ravanan/command-line-tool.scm (specifications->environment): Rename
to software-packages->environment.
(software-packages->environment): Accept vector of SoftwarePackage
association lists.
(build-command-line-tool-script): Move into
software-packages->environment. Pass vector of SoftwarePackage
association lists to software-packages->environment.
| Arun Isaac |
2025-02-24 | guix: Inherit ravanan package from Guix upstream.•••* .guix/ravanan-package.scm: Do no import (gnu packages
package-management), (gnu packages gnupg), (gnu packages guile), (gnu
packages guile-xyz), (gnu packages node), (guix build-system
gnu), (guix licenses) and (guix profiles). Import ravanan from (gnu
packages bioinformatics) with a guix: prefix.
* .guix/ravanan-package.scm (ravanan): Inherit from guix:ravanan.
| Arun Isaac |
2025-02-01 | Revert "bin: Remove unused (ravanan command-line-tool) import."•••This reverts commit 17b88bd2ca1411fbf2799e0e194d7052c059a36b.
(ravanan command-line-tool) is required for manifest-file-error?.
| Arun Isaac |
2025-01-28 | README: Mention use of caching for developing workflows.•••* README.md: Mention use of caching for developing workflows.
| Arun Isaac |
2025-01-28 | images: Crop image of Ravanan.•••We crop the image to remove Siva and Parvathi.
* images/ravanan-king-of-lanka.jpg: Crop.
| Arun Isaac |
2025-01-28 | releases: Add v0.1.0 release tarball.•••* releases/ravanan-0.1.0.tar.lz, releases/ravanan-0.1.0.tar.lz.asc:
New files.
| Arun Isaac |
2025-01-28 | bin: Add newline after usage message.•••* bin/ravanan (print-usage): Add newline at the end.
v0.1.0 | Arun Isaac |
2025-01-28 | Makefile: Add release tarball generation rules.•••* Makefile (GIT, GPG, LZIP, config_file_template, distribute_files,
dist_archive): New variables.
(dist, distsign, $(dist_archive), %.asc): New rules.
| Arun Isaac |
2025-01-28 | Makefile: Treat config.scm distinctly from sources.•••config.scm is a generated source file. Treat it the same as a
hand-written source file creates problems when generating release
tarballs.
* Makefile (sources): Remove $(config_file).
(objects): Add $(config_file:.scm=.go).
(install): Depend on $(config_file) and install it.
| Arun Isaac |
2025-01-27 | README: Add table of contents.•••* README.md: Add table of contents.
| Arun Isaac |
2025-01-27 | README: Add image of Ravanan.•••* README.md: Add image of Ravanan.
(License): Mention license and attribution for image.
* images/ravanan-king-of-lanka.jpg, images/LICENSE.md: New files.
| Arun Isaac |
2025-01-27 | README: Fix grammar.•••* README.md (Building from source): Change "do" to "do so".
| Arun Isaac |
2025-01-27 | README: Restructure introduction.•••* README.md: Restructure introduction.
| Arun Isaac |
2025-01-27 | README: Add "Building from source" section.•••* README.md (Building from source): New section.
| Arun Isaac |
2025-01-27 | README: Fill out "How to use" section.•••* README.md (How to use): Fill out section.
* doc/hello-world-inputs.json, doc/hello-world.cwl: New files.
| Arun Isaac |
2025-01-27 | bin: Create store directory when it does not exist.•••* bin/ravanan: Import (ravanan store).
(main): Create store directory when it does not exist.
* ravanan/store.scm (make-store): New public function.
| Arun Isaac |
2025-01-27 | store: Move store interning code to (ravanan store).•••* ravanan/store.scm: Import (ravanan work command-line-tool)
and (ravanan work monads).
* ravanan/workflow.scm (same-filesystem?, intern-file): Move
to (ravanan store).
| Arun Isaac |
2025-01-27 | bin: Remove unused (ravanan command-line-tool) import.•••* bin/ravanan: Do not import (ravanan command-line-tool).
| Arun Isaac |
2025-01-27 | store: Move store path related code to new module.•••* ravanan/command-line-tool.scm: Import (ravanan store).
(%store-files-directory, %store-data-directory, %store-logs-directory,
script->store-files-directory, script->store-data-file,
script->store-stdout-file, script->store-stderr-file): Move to ...
* ravanan/store.scm: ... new file.
* ravanan/workflow.scm (ravanan): Import (ravanan store).
| Arun Isaac |
2025-01-26 | slurm-api: Handle all slurm job state codes.•••* ravanan/slurm-api.scm: Import assertion-violation from (rnrs base).
(slurm-state-codes->job-state): New function.
(job-state): Use slurm-state-codes->job-state.
* tests/slurm-api.scm: New file.
| Arun Isaac |
2025-01-25 | workflow: Hard link instead of copying when interning into the store.•••* ravanan/workflow.scm (same-filesystem?): New function.
(intern-file): Hard link files if on the same filesystem. Else, copy.
| Arun Isaac |
2025-01-25 | slurm-api: Handle failed state when polling job state.•••* ravanan/slurm-api.scm (job-state): Handle failed state.
| Arun Isaac |
2025-01-24 | slurm-api: Translate slurm job states correctly.•••The job states returned by the slurm API are not the same as that
expected by ravanan code.
* ravanan/slurm-api.scm (job-state): Translate PENDING and RUNNING to
pending state. Translate SUCCESS to completed state.
| Arun Isaac |
2025-01-24 | slurm-api: Error out when all options have been exhausted.•••Prior to this, job-state could still return a value if there were no
errors described in the JSON. This is quite unlikely, but in the
interest of rigour…
* ravanan/slurm-api.scm (job-state): Error out when all options have
been exhausted.
| Arun Isaac |
2025-01-24 | slurm-api: Support tracing.•••* ravanan/slurm-api.scm: Import (ravanan verbosity).
(submit-job, job-state): Add traces.
* bin/ravanan (%options): Support slurm-api in --trace option.
(print-usage): Document it.
| Arun Isaac |
2025-01-24 | verbosity: Implement subsystem tracing.•••* ravanan/verbosity.scm: New file.
* bin/ravanan: Import (ravanan verbosity).
(%options): Add trace.
(print-usage): Document it.
(main): Set default value of traces. Parameterize %traces when running
workflow.
| Arun Isaac |
2025-01-24 | command-line-tool: Support float and double types.•••* ravanan/work/command-line-tool.scm (object-type, match-type):
Support float and double types.
* ravanan/command-line-tool.scm (command-line-binding->args): Handle
float arguments.
| Arun Isaac |
2025-01-24 | command-line-tool: Import (ravanan work types) into the job script.•••We need (ravanan work types) for array-type?.
* ravanan/command-line-tool.scm (build-command-line-tool-script):
Import (ravanan work types) into the job script.
| Arun Isaac |