aboutsummaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
5 dayscommand-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 daysstore: Update basename, nameroot and nameext when interning files.•••* ravanan/store.scm (intern-file): Update basename, nameroot and nameext. Arun Isaac
6 daysworkflow: 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 dayscommand-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 dayscommand-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 dayscommand-line-tool: Stage secondary files too.•••* ravanan/command-line-tool.scm (build-command-line-tool-script): Stage secondary files too. Arun Isaac
6 daysreader: Use canonicalize-file-value.•••* ravanan/reader.scm (normalize-input): Use canonicalize-file-value. Arun Isaac
6 dayswork/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 dayswork/command-line-tool: Canonicalize secondary files too.•••* ravanan/work/command-line-tool.scm (canonicalize-file-value): Canonicalize secondary files too. Arun Isaac
6 dayswork/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 daysreader: 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 dayscommand-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 dayscommand-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 dayscommand-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 daysstore: 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 daysdir-locals: Indent call-with-atomic-output-file correctly.•••* .dir-locals.el (scheme-mode): Indent call-with-atomic-output-file correctly. Arun Isaac
2025-03-18tests: 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-18tests: 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-18reader: 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-18reader: 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-28README: Add Contributing section.•••* README.md (Contributing): New section. Arun Isaac
2025-02-24command-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-24command-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-24guix: 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-01Revert "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-28README: Mention use of caching for developing workflows.•••* README.md: Mention use of caching for developing workflows. Arun Isaac
2025-01-28images: Crop image of Ravanan.•••We crop the image to remove Siva and Parvathi. * images/ravanan-king-of-lanka.jpg: Crop. Arun Isaac
2025-01-28releases: 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-28bin: Add newline after usage message.•••* bin/ravanan (print-usage): Add newline at the end. v0.1.0Arun Isaac
2025-01-28Makefile: 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-28Makefile: 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-27README: Add table of contents.•••* README.md: Add table of contents. Arun Isaac
2025-01-27README: 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-27README: Fix grammar.•••* README.md (Building from source): Change "do" to "do so". Arun Isaac
2025-01-27README: Restructure introduction.•••* README.md: Restructure introduction. Arun Isaac
2025-01-27README: Add "Building from source" section.•••* README.md (Building from source): New section. Arun Isaac
2025-01-27README: 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-27bin: 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-27store: 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-27bin: Remove unused (ravanan command-line-tool) import.•••* bin/ravanan: Do not import (ravanan command-line-tool). Arun Isaac
2025-01-27store: 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-26slurm-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-25workflow: 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-25slurm-api: Handle failed state when polling job state.•••* ravanan/slurm-api.scm (job-state): Handle failed state. Arun Isaac
2025-01-24slurm-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-24slurm-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-24slurm-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-24verbosity: 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-24command-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-24command-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