aboutsummaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
4 daysmonads: Do not export maybe-monad.•••* ravanan/work/monads.scm: Do not export maybe-monad. Arun Isaac
4 dayscommand-line-tool: Re-indent run-command-line-tool.•••* ravanan/command-line-tool.scm (run-command-line-tool): Re-indent. Arun Isaac
2025-01-07guix: Use %default-gnu-imported-modules.•••%gnu-build-system-modules is deprecated. * .guix/ravanan-package.scm (ravanan)[arguments]: Replace %gnu-build-system-modules with %default-gnu-imported-modules. Arun Isaac
2025-01-07guix: Add NODE makeflag.•••* .guix/ravanan-package.scm (ravanan)[arguments]: Add NODE makeflag. Arun Isaac
2025-01-07guix: Depend on guile-json-4.•••* .guix/ravanan-package.scm: Import guile-json-4 from (gnu packages guile). (ravanan)[inputs]: Add guile-json-4. Arun Isaac
2024-12-06dir-locals: Indent call-with-inferior correctly.•••* .dir-locals.el (scheme-mode): Indent call-with-inferior correctly. Arun Isaac
2024-12-05bin: Do not specify the default output port unnecessarily.•••* bin/ravanan (main): Do not specify the default (current-output-port). Arun Isaac
2024-12-05bin: Add --output-directory argument.•••* 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. Arun Isaac
2024-12-04bin: Indicate that the --store argument was not specified.•••* bin/ravanan (main): Indicate specifically that the --store argument was not specified. Arun Isaac
2024-12-04bin: Indicate that the --scratch argument was not specified.•••* bin/ravanan (main): Indicate specifically that the --scratch argument was not specified. Arun Isaac
2024-12-04bin: Indicate that the --slurm-jwt argument was not specified.•••* bin/ravanan (main): Indicate specifically that the --slurm-jwt argument was not specified. Arun Isaac
2024-12-04bin: Add --version flag.•••* 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. Arun Isaac
2024-11-06command-line-tool: Bubble up manifest file errors to the top level.•••* 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. Arun Isaac
2024-11-06bin: Remove default Guix manifest.•••* bin/ravanan (main): Remove default Guix manifest. Arun Isaac
2024-11-06command-line-tool: Support packages in SoftwareRequirement.•••* ravanan/command-line-tool.scm: Import (gnu packages). (specifications->environment): New function. (build-command-line-tool-script)[software-package->package-specification]: New function. Build environment from packages if specified. Arun Isaac
2024-11-06command-line-tool: Allow processing manifest objects without a file.•••* ravanan/command-line-tool.scm (manifest->environment): New function. (manifest-file->environment)[build-derivation]: Delete function. Call manifest->environment. Arun Isaac
2024-11-06bin: Add --guix-channels command-line argument.•••* bin/ravanan: Import (guix channels). (%options): Add guix-channels. (print-usage): Document it. (main): Load channels from channels file if specified. Arun Isaac
2024-11-06command-line-tool: Build manifest in Guix inferior with channels.•••* 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. Arun Isaac
2024-11-06command-line-tool: Convert manifest to environment in new function.•••* ravanan/command-line-tool.scm (manifest-file->environment): New function. (build-command-line-tool-script): Use manifest-file->environment. Arun Isaac
2024-11-06utils: Generalize load-manifest and move to (ravanan utils).•••* ravanan/utils.scm: Import (ice-9 filesystem) and (ice-9 match). (load-script): New function. * ravanan/command-line-tool.scm: Import (ravanan utils). (load-manifest): Use load-script. Arun Isaac
2024-11-06command-line-tool: Implement WorkReuse.•••* ravanan/command-line-tool.scm (%command-line-tool-supported-requirements): Add WorkReuse. * ravanan/command-line-tool.scm (build-command-line-tool-script): Implement WorkReuse. Arun Isaac
2024-11-06command-line-tool: Fit Guix manifest into SoftwareRequirement.•••* ravanan/command-line-tool.scm (%command-line-tool-supported-requirements): Replace GuixManifestRequirement with SoftwareRequirement. (build-command-line-tool-script): Look for SoftwareRequirement instead of GuixManifestRequirement. Arun Isaac
2024-11-06slurm-api: Find state of purged jobs.•••* ravanan/slurm-api.scm (job-state): Query slurmdb for jobs that have been purged from slurmctld's active memory. Arun Isaac
2024-11-06slurm-api: Deduplicate API error checks.•••* ravanan/slurm-api.scm (check-api-error): New function. (submit-job, job-state): Use check-api-error. Arun Isaac
2024-11-06slurm-api: Upgrade to API version 0.0.41.•••* ravanan/slurm-api.scm (submit-job, job-state): Upgrade to API version 0.0.41. (job-state): Handle job_state as a vector of strings. Arun Isaac
2024-11-06README: Add ravanan pronunciation.•••* README.md: Add ravanan pronunciation. Arun Isaac
2024-10-11workflow: Report file interning.•••* ravanan/workflow.scm (intern-file): Report file interning. Arun Isaac
2024-10-11workflow: Do not re-intern files that have already been interned.•••* ravanan/workflow.scm (intern-file): Do not re-intern files that have already been interned into the store. Arun Isaac
2024-10-11command-line-tool: Compute hash of stdout file.•••* ravanan/command-line-tool.scm (build-command-line-tool-script)[path+sha1->value]: New function. [path->value]: Implement in terms of path+sha1->value. [stdout-output->value]: Use path+sha1->value. Arun Isaac
2024-10-11command-line-tool: Recompute checksum only if it is not provided.•••* ravanan/command-line-tool.scm (build-command-line-tool-script)[canonicalize-file-value]: Recompute checksum only if it is not provided. Arun Isaac
2024-10-10workflow: Recompute checksum only if it is not provided.•••* ravanan/workflow.scm (intern-file): Accept and return File type value, and recompute the SHA1 hash only if it is not provided in the checksum field. (resolve-inputs): Recompute checksum only if it is not provided. Update call to intern-file. Arun Isaac
2024-10-10slurm-api: Allow requesting for a nice adjustment.•••* 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. Arun Isaac
2024-10-09slurm-api: Allow requesting for a specific partition.•••* 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. Arun Isaac
2024-10-09batch-system: Introduce <slurm-api-batch-system> record type.•••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. Arun Isaac
2024-10-08command-line-tool: Import (guix gexp) into manifest files.•••* ravanan/command-line-tool.scm (load-manifest): Import (guix gexp) into manifest files. Arun Isaac
2024-10-08README: Add CI badge.•••* README.md: Add CI badge. Arun Isaac
2024-10-08command-line-tool: Do not auto-compile manifest files.•••* ravanan/command-line-tool.scm (load-manifest): Do not auto-compile manifest files. Arun Isaac
2024-10-08javascript: Do not serialize JSON if not interpolating string.•••* ravanan/javascript.scm (evaluate-parameter-reference): Do not serialize JSON tree if not interpolating parameter reference. * tests/javascript.scm ("evaluate parameter reference to JSON object", "evaluate parameter reference to JSON object using node"): New tests. ("evaluate parameter reference with node", "evaluate parameter reference (without context)", "evaluate parameter reference with node (without context)"): Update tests. Arun Isaac
2024-10-08javascript: Handle node calls without context.•••* ravanan/javascript.scm (evaluate-using-node): Handle cases when context is #f. Arun Isaac
2024-10-08javascript: Reference inputs, self or runtime symbols; not strings.•••* ravanan/javascript.scm (evaluate-parameter-reference-1): Reference inputs, self or runtime symbols; not strings. Arun Isaac
2024-10-08tests: Add tests for javascript G-expressions.•••* tests/javascript.scm: Import (guix gexp) and (ice-9 match). (gexp->sexp-rec): New function. ("evaluate parameter reference (without context)", "evaluate parameter reference with string interpolation (without context)", "evaluate parameter reference with string interpolation of JSON trees (without context)", "evaluate parameter reference with node (without context)", "evaluate parameter reference with string interpolation using node (without context)", "evaluate parameter reference with string interpolation of JSON trees using node (without context)"): New tests. Arun Isaac
2024-10-07command-line-tool: Implement GuixManifestRequirement.•••* ravanan/command-line-tool.scm (%command-line-tool-supported-requirements): Add GuixManifestRequirement. (build-command-line-tool-script): Implement GuixManifestRequirement. Arun Isaac
2024-10-07bin: Pass manifest file paths, not manifests to other functions.•••* 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. Arun Isaac
2024-10-07bin: Load manifests without their definitions leaking out.•••* bin/ravanan: Do not import (gnu packages) and (guix profiles). (load-manifest): New function. (main): Use load-manifest. Arun Isaac
2024-10-04javascript: Unify simple parameter reference and node fallback.•••* ravanan/command-line-tool.scm: Do not import (ravanan config), and node from (gnu packages node). (%worker-node): Move to (ravanan javascript). (interpolate-parameter-references): Delete function. (coerce-expression): Always call evaluate-parameter-reference from (ravanan javascript). * ravanan/work/command-line-tool.scm (evaluate-parameter-reference): Delete function. * ravanan/javascript.scm: Mention fallback to node in module commentary. Import (ravanan config), (ravanan work command-line-tool), and node from (gnu packages node). (evaluate-simple-parameter-reference): Rename to evaluate-parameter-reference. (evaluate-parameter-reference-1, evaluate-parameter-reference): Add expression-lib argument. Return regular values, not maybe-monadic values. (evaluate-using-node): New function. * tests/javascript.scm ("evaluate parameter reference", "evaluate parameter reference with string interpolation", "evaluate parameter reference with string interpolation of JSON trees"): Update tests. ("evaluate parameter reference with node", "evaluate parameter reference with string interpolation using node", "evaluate parameter reference with string interpolation of JSON trees using node"): New tests. Arun Isaac
2024-10-04javascript: Remove "alternating" from tokenizing docstring.•••tokenize-parameter-references need not return an "alternating" sequence of tokens. There can be consecutive parameter reference tokens or literal strings. * ravanan/javascript.scm (tokenize-parameter-references): Remove "alternating" from docstring. Arun Isaac
2024-10-04monads: Use write, not display, to print Just values.•••* ravanan/work/monads.scm (<maybe>): Use write, not display, to print Just values. Arun Isaac
2024-10-04javascript: Implement parameter reference javascript subset language.•••* ravanan/javascript.scm, tests/javascript.scm: New files. * ravanan/command-line-tool.scm: Import (ravanan javascript). (coerce-expression): Use evaluate-simple-parameter-reference. (interpolate-parameter-references)[tokenize]: Move to (ravanan javascript) as tokenize-parameter-references. Arun Isaac
2024-10-04command-line-tool: Move canonicalize-json to (ravanan work utils).•••* ravanan/command-line-tool.scm (canonicalize-json): Move to (ravanan work utils). Move comment about G-expressions to build-command-line-tool-script. * ravanan/work/utils.scm (ravanan): Import (ravanan work vectors). Arun Isaac
2024-10-04command-line-tool: Merge local and remote coerce-expression.•••coerce-expression and coerce-expression-local share most of their code. So, it makes sense to merge them. * ravanan/command-line-tool.scm (coerce-expression): Add optional context argument. (coerce-expression-local): Delete function. (run-command-line-tool): Call coerce-expression instead of coerce-expression-local. Arun Isaac