aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
6 dayscommand-line-tool: Move secondary-path to work module.Arun Isaac
* ravanan/command-line-tool.scm (build-command-line-tool-script): Move to ... * ravanan/work/command-line-tool.scm (secondary-path): ... here.
6 dayscommand-line-tool: Pass secondary-file to secondary-path.Arun Isaac
* ravanan/command-line-tool.scm (build-command-line-tool-script): Pass secondary-file, not pattern, to secondary-path.
6 dayscommand-line-tool: Stage secondary files too.Arun Isaac
* ravanan/command-line-tool.scm (build-command-line-tool-script): Stage secondary files too.
6 daysreader: Use canonicalize-file-value.Arun Isaac
* ravanan/reader.scm (normalize-input): Use canonicalize-file-value.
6 dayswork/command-line-tool: Comment on trusting the checksum.Arun Isaac
* ravanan/work/command-line-tool.scm (canonicalize-file-value): Comment on trusting the checksum.
6 dayswork/command-line-tool: Canonicalize secondary files too.Arun Isaac
* ravanan/work/command-line-tool.scm (canonicalize-file-value): Canonicalize secondary files too.
6 dayswork/command-line-tool: Handle absent path and location correctly.Arun Isaac
* ravanan/work/command-line-tool.scm (canonicalize-file-value): Handle absent path and location correctly.
6 daysreader: Move location->path to work module.Arun Isaac
* ravanan/reader.scm (location->path): Move to ... * ravanan/work/command-line-tool.scm (location->path): ... here.
6 dayscommand-line-tool: Move canonicalize-file-value to work module.Arun Isaac
* 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.
11 dayscommand-line-tool: Abstract out handling of SecondaryFile pattern.Arun Isaac
* ravanan/command-line-tool.scm (build-command-line-tool-script)[secondary-path]: New function. [capture-secondary-file]: Use secondary-path.
11 dayscommand-line-tool: Abstract out file staging into its own function.Arun Isaac
* ravanan/command-line-tool.scm (build-command-line-tool-script)[stage-file]: New function. [stage-files]: Use stage-file.
2025-04-14store: Intern secondary files.Arun Isaac
* 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.
2025-04-14dir-locals: Indent call-with-atomic-output-file correctly.Arun Isaac
* .dir-locals.el (scheme-mode): Indent call-with-atomic-output-file correctly.
2025-03-18tests: Fix typo in test.Arun Isaac
* tests/reader.scm ("Normalize array of File arrays type formal output"): Replace normalize-formal-input with normalize-formal-output.
2025-03-18tests: Tolerate only path or location in File type inputs.Arun Isaac
* 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.
2025-03-18reader: Canonicalize File inputs completely in reader.Arun Isaac
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.
2025-03-18reader: Spin off input normalization into separate function.Arun Isaac
Separate functions are easier to test. * ravanan/reader.scm (read-inputs): Spin off input normalization into ... (normalize-input): ... new function.
2025-02-28README: Add Contributing section.Arun Isaac
* README.md (Contributing): New section.
2025-02-24command-line-tool: Pass package versions separately to inferior.Arun Isaac
* ravanan/command-line-tool.scm (software-packages->environment): Pass package versions as separate argument to lookup-inferior-packages.
2025-02-24command-line-tool: Handle SoftwarePackage in helper function.Arun Isaac
* 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.
2025-02-24guix: Inherit ravanan package from Guix upstream.Arun Isaac
* .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.
2025-02-01Revert "bin: Remove unused (ravanan command-line-tool) import."Arun Isaac
This reverts commit 17b88bd2ca1411fbf2799e0e194d7052c059a36b. (ravanan command-line-tool) is required for manifest-file-error?.
2025-01-28README: Mention use of caching for developing workflows.Arun Isaac
* README.md: Mention use of caching for developing workflows.
2025-01-28images: Crop image of Ravanan.Arun Isaac
We crop the image to remove Siva and Parvathi. * images/ravanan-king-of-lanka.jpg: Crop.
2025-01-28releases: Add v0.1.0 release tarball.Arun Isaac
* releases/ravanan-0.1.0.tar.lz, releases/ravanan-0.1.0.tar.lz.asc: New files.
2025-01-28bin: Add newline after usage message.v0.1.0Arun Isaac
* bin/ravanan (print-usage): Add newline at the end.
2025-01-28Makefile: Add release tarball generation rules.Arun Isaac
* Makefile (GIT, GPG, LZIP, config_file_template, distribute_files, dist_archive): New variables. (dist, distsign, $(dist_archive), %.asc): New rules.
2025-01-28Makefile: Treat config.scm distinctly from sources.Arun Isaac
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.
2025-01-27README: Add table of contents.Arun Isaac
* README.md: Add table of contents.
2025-01-27README: Add image of Ravanan.Arun Isaac
* README.md: Add image of Ravanan. (License): Mention license and attribution for image. * images/ravanan-king-of-lanka.jpg, images/LICENSE.md: New files.
2025-01-27README: Fix grammar.Arun Isaac
* README.md (Building from source): Change "do" to "do so".
2025-01-27README: Restructure introduction.Arun Isaac
* README.md: Restructure introduction.
2025-01-27README: Add "Building from source" section.Arun Isaac
* README.md (Building from source): New section.
2025-01-27README: Fill out "How to use" section.Arun Isaac
* README.md (How to use): Fill out section. * doc/hello-world-inputs.json, doc/hello-world.cwl: New files.
2025-01-27bin: Create store directory when it does not exist.Arun Isaac
* bin/ravanan: Import (ravanan store). (main): Create store directory when it does not exist. * ravanan/store.scm (make-store): New public function.
2025-01-27store: Move store interning code to (ravanan store).Arun Isaac
* ravanan/store.scm: Import (ravanan work command-line-tool) and (ravanan work monads). * ravanan/workflow.scm (same-filesystem?, intern-file): Move to (ravanan store).
2025-01-27bin: Remove unused (ravanan command-line-tool) import.Arun Isaac
* bin/ravanan: Do not import (ravanan command-line-tool).
2025-01-27store: Move store path related code to new module.Arun Isaac
* 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).
2025-01-26slurm-api: Handle all slurm job state codes.Arun Isaac
* 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.
2025-01-25workflow: Hard link instead of copying when interning into the store.Arun Isaac
* ravanan/workflow.scm (same-filesystem?): New function. (intern-file): Hard link files if on the same filesystem. Else, copy.
2025-01-25slurm-api: Handle failed state when polling job state.Arun Isaac
* ravanan/slurm-api.scm (job-state): Handle failed state.
2025-01-24slurm-api: Translate slurm job states correctly.Arun Isaac
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.
2025-01-24slurm-api: Error out when all options have been exhausted.Arun Isaac
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.
2025-01-24slurm-api: Support tracing.Arun Isaac
* 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.
2025-01-24verbosity: Implement subsystem tracing.Arun Isaac
* 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.
2025-01-24command-line-tool: Support float and double types.Arun Isaac
* 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.
2025-01-24command-line-tool: Import (ravanan work types) into the job script.Arun Isaac
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.
2025-01-23command-line-tool: Handle G-exp args when joining with item separator.Arun Isaac
* ravanan/command-line-tool.scm (command-line-binding->args): Handle G-exp args when joining with item separator.
2025-01-23workflow: Handle exceptions in run-workflow.Arun Isaac
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.
2025-01-23slurm-api: Bind return value of slurm-http-get in the state monad.Arun Isaac
* ravanan/slurm-api.scm (job-state): Bind return value of slurm-http-get in the state monad.