summary refs log tree commit diff
path: root/bin
AgeCommit message (Collapse)Author
38 hoursreader: Resolve YAML inputs file type ambiguities.Arun Isaac
Resolve YAML inputs file type ambiguities by reading them along with the workflow file and using the workflow input types to guide their type coercion.
41 hoursbin: Set info as default log level.Arun Isaac
ravanan will commonly be used to run long-running workflows on HPC clusters. Therefore, it is reasonable that it is a bit more talkative. The user will want to get some feedback about progress.
9 daysbin: Cover more code with %log-level and %traces parameterization.Arun Isaac
We want to cover as much of the program as possible with a parameterization of %log-level and %traces. This way, logging of the program can be controlled to the largest extent possible.
2025-08-18bin: Replace "multiple" with "more than one".Arun Isaac
"more than one" is simpler English.
2025-08-18Add --quiet flag to suppress all logging.Arun Isaac
2025-08-18bin: Allow controlling log level via --log-level.Arun Isaac
2025-06-26bin: Use user-error instead of errors to report user errors.Arun Isaac
User errors are caused by incorrect input from the user, rather than by actual bugs in the code. user-error is named after the similarly named elisp function. * bin/ravanan: Import (ravanan work ui). (%options, invalid-option, main): Use user-error instead of error.
2025-06-17bin: Print usage when arguments are not matched.Arun Isaac
* bin/ravanan (print-short-usage): New function. (main): Print usage when arguments are not matched.
2025-05-06bin: Import (ravanan work vectors) for vector-map.Arun Isaac
* bin/ravanan: Import (ravanan work vectors).
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-28bin: Add newline after usage message. v0.1.0Arun Isaac
* bin/ravanan (print-usage): Add newline at the end.
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-27bin: Remove unused (ravanan command-line-tool) import.Arun Isaac
* bin/ravanan: Do not import (ravanan command-line-tool).
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.
2024-12-05bin: Do not specify the default output port unnecessarily.Arun Isaac
* bin/ravanan (main): Do not specify the default (current-output-port).
2024-12-05bin: Add --output-directory argument.Arun Isaac
* bin/ravanan: Import (ravanan work utils). (%options): Add --output-directory. (print-usage): Document it. (symlink-to-output-directory): New function. (main): Symlink to output directory if it is specified.
2024-12-04bin: Indicate that the --store argument was not specified.Arun Isaac
* bin/ravanan (main): Indicate specifically that the --store argument was not specified.
2024-12-04bin: Indicate that the --scratch argument was not specified.Arun Isaac
* bin/ravanan (main): Indicate specifically that the --scratch argument was not specified.
2024-12-04bin: Indicate that the --slurm-jwt argument was not specified.Arun Isaac
* bin/ravanan (main): Indicate specifically that the --slurm-jwt argument was not specified.
2024-12-04bin: Add --version flag.Arun Isaac
* ravanan/config.scm.in (%project, %version): New variables. * Makefile (version): New variable. (%.scm): Substitute %project and %version too. * bin/ravanan: Import (ravanan config). (%options): Add --version. (print-usage): Document it. (main): Implement it.
2024-11-06command-line-tool: Bubble up manifest file errors to the top level.Arun Isaac
* ravanan/command-line-tool.scm: Import (rnrs conditions) and (rnrs exceptions). (&manifest-file-error): New condition type. (load-manifest): Raise &manifest-file-error when loading the manifest file fails. * bin/ravanan: Import (rnrs exceptions) and (ravanan command-line-tool). (main): Handle manifest file errors bubbled up from lower down the stack.
2024-11-06bin: Remove default Guix manifest.Arun Isaac
* bin/ravanan (main): Remove default Guix manifest.
2024-11-06bin: Add --guix-channels command-line argument.Arun Isaac
* bin/ravanan: Import (guix channels). (%options): Add guix-channels. (print-usage): Document it. (main): Load channels from channels file if specified.
2024-11-06command-line-tool: Build manifest in Guix inferior with channels.Arun Isaac
* ravanan/command-line-tool.scm: Import (guix inferior). (call-with-inferior): New function. (run-command-line-tool): Accept channels argument and pass it on to build-command-line-tool-script. (build-command-line-tool-script): Accept channels argument and pass it on to manifest-file->environment. (manifest-file->environment): Accept channels argument. Build manifest in Guix inferior when channels is provided. * ravanan/workflow.scm (workflow-scheduler): Accept channels argument and pass it on to run-command-line-tool. (run-workflow): Accept channels argument and pass it on to workflow-scheduler. * bin/ravanan (main): Pass #f as channels to run-workflow.
2024-10-10slurm-api: Allow requesting for a nice adjustment.Arun Isaac
* ravanan/batch-system.scm (<slurm-api-batch-system>)[nice]: Add field. * bin/ravanan (%options): Add slurm-nice. (print-usage): Document it. (main): Initialize nice field of <slurm-api-batch-system> object. * ravanan/command-line-tool.scm (run-command-line-tool): Pass #:nice argument to submit-job. * ravanan/slurm-api.scm (submit-job): Accept #:nice argument.
2024-10-09slurm-api: Allow requesting for a specific partition.Arun Isaac
* ravanan/batch-system.scm (<slurm-api-batch-system>)[partition]: Add field. * bin/ravanan (%options): Add slurm-partition. (print-usage): Document it. (main): Initialize partition field of <slurm-api-batch-system> object. * ravanan/command-line-tool.scm (run-command-line-tool): Pass #:partition argument to submit-job. * ravanan/slurm-api.scm (submit-job): Accept #:partition argument.
2024-10-09batch-system: Introduce <slurm-api-batch-system> record type.Arun Isaac
A <slurm-api-batch-system> record type allows us an easy way to group and pass along parameters required by the slurm-api batch system. * ravanan/batch-system.scm: New file. * bin/ravanan: Import (ravanan batch-system). (main): Create <slurm-api-batch-system> object for batch-system argument. Do not pass #:slurm-api-endpoint and #:slurm-jwt arguments. * ravanan/command-line-tool.scm: Import (ravanan batch-system). (command-line-tool-supported-requirements): Check for slurm-api batch system using slurm-api-batch-system?. (run-command-line-tool): Check for slurm-api batch system using slurm-api-batch-system?. Do not accept #:slurm-api-endpoint and #:slurm-jwt arguments. * ravanan/workflow.scm: Import (ravanan batch-system). (workflow-scheduler): Do not accept #:slurm-api-endpoint and #:slurm-jwt arguments. Pass batch-system to job-state-status. (run-workflow): Check for slurm-api batch system using slurm-api-batch-system?. Do not accept #:slurm-api-endpoint and #:slurm-jwt arguments. * ravanan/job-state.scm: Import (ravanan batch-system). (job-state-status): Do not accept #:slurm-api-endpoint and #:slurm-jwt arguments. Accept batch-system argument.
2024-10-07bin: Pass manifest file paths, not manifests to other functions.Arun Isaac
* bin/ravanan: Move to (ravanan command-line-tool). Add comment about declarative modules. (main): Pass manifest file path to run-workflow. * ravanan/command-line-tool.scm (run-command-line-tool, build-command-line-tool-script): Accept manifest file path instead of manifest. * ravanan/workflow.scm (workflow-scheduler, run-workflow): Accept manifest file path instead of manifest.
2024-10-07bin: Load manifests without their definitions leaking out.Arun Isaac
* bin/ravanan: Do not import (gnu packages) and (guix profiles). (load-manifest): New function. (main): Use load-manifest.
2024-09-16bin: Explain why we support the SLURM_JWT=token format.Arun Isaac
* bin/ravanan (read-jwt): Explain why we support the SLURM_JWT=token format.
2024-09-13bin: Support SLURM_JWT=token format in JWT files.Arun Isaac
* bin/ravanan: Import (srfi srfi-26) and (ravanan utils). (read-jwt): Support SLURM_JWT=token format.
2024-09-13bin: Refactor JWT reading into separate function.Arun Isaac
* bin/ravanan (read-jwt): New function. (main): Call read-jwt.
2024-09-10bin: Import (guix profiles) to load manifest files.Arun Isaac
* bin/ravanan: Import (guix profiles).
2024-08-22bin: Add --help flag.Arun Isaac
* bin/ravanan (print-usage): New function. (main): Use print-usage.
2024-08-22bin: Remove unused invoke function.Arun Isaac
* bin/ravanan (invoke): Delete function.
2024-08-20Initial commitArun Isaac