Age | Commit message (Expand) | Author |
8 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 |
8 days | work/command-line-tool: Canonicalize secondary files too.•••* ravanan/work/command-line-tool.scm (canonicalize-file-value):
Canonicalize secondary files too.
| Arun Isaac |
8 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 |
8 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 |
8 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 |
13 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 |
13 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 |
2025-04-14 | 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 |
2025-04-14 | 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 |
2025-01-23 | command-line-tool: Handle G-exp args when joining with item separator.•••* ravanan/command-line-tool.scm (command-line-binding->args): Handle
G-exp args when joining with item separator.
| Arun Isaac |
2025-01-23 | workflow: Handle exceptions in run-workflow.•••Since our scheduler is now state-monadic, the exception handler must
guard the context in which the monad is actually run.
* ravanan/workflow.scm (workflow-scheduler): Move exception handler to
...
(run-workflow): ... here.
| Arun Isaac |
2025-01-23 | slurm-api: Bind return value of slurm-http-get in the state monad.•••* ravanan/slurm-api.scm (job-state): Bind return value of
slurm-http-get in the state monad.
| Arun Isaac |
2025-01-22 | reader: Normalize File array type formals too.•••* ravanan/reader.scm: Import (ravanan work types).
(some-file-type?): New function.
(normalize-formal-input, normalize-formal-output): Normalize File
array type formals too.
* tests/reader.scm: Import (srfi srfi-1) and (ice-9 match).
(normalize-formal-input, normalize-formal-output): New variables.
(json=?): New function.
("Normalize File type formal input", "Normalize File array type formal
input", "Normalize array of File arrays type formal input", "Normalize
File type formal output", "Normalize File array type formal output",
"Normalize array of File arrays type formal output"): New tests.
| Arun Isaac |
2025-01-22 | reader: Promote normalize functions to top level.•••It is easier to test top-level functions.
* ravanan/reader.scm (normalize-workflow)[normalize-secondary-files,
normalize-formal-input, normalize-formal-output,
normalize-base-command, normalize-arguments, normalize-steps]: Promote
to top level.
| Arun Isaac |
2025-01-22 | workflow: Return correct updated state when polling list states.•••We were returning the original input state. That was obviously a
catastrophe! I have spent the better part of the day debugging this. I
am tired.
* ravanan/workflow.scm (workflow-scheduler)[poll]: Return correct
updated state when polling list states.
| Arun Isaac |
2025-01-21 | command-line-tool: Write output JSON atomically to the store.•••* ravanan/command-line-tool.scm (run-command-line-tool,
build-command-line-tool-script): Write output JSON atomically to the
store.
| Arun Isaac |