Age | Commit message (Expand) | Author |
4 days | command-line-tool: Re-indent run-command-line-tool.•••* ravanan/command-line-tool.scm (run-command-line-tool): Re-indent.
| Arun Isaac |
2025-01-07 | guix: 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-07 | guix: Add NODE makeflag.•••* .guix/ravanan-package.scm (ravanan)[arguments]: Add NODE makeflag.
| Arun Isaac |
2025-01-07 | guix: 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-06 | dir-locals: Indent call-with-inferior correctly.•••* .dir-locals.el (scheme-mode): Indent call-with-inferior correctly.
| Arun Isaac |
2024-12-05 | bin: Do not specify the default output port unnecessarily.•••* bin/ravanan (main): Do not specify the
default (current-output-port).
| Arun Isaac |
2024-12-05 | bin: 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-04 | bin: Indicate that the --store argument was not specified.•••* bin/ravanan (main): Indicate specifically that the --store argument
was not specified.
| Arun Isaac |
2024-12-04 | bin: Indicate that the --scratch argument was not specified.•••* bin/ravanan (main): Indicate specifically that the --scratch
argument was not specified.
| Arun Isaac |
2024-12-04 | bin: 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-04 | bin: 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-06 | command-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-06 | bin: Remove default Guix manifest.•••* bin/ravanan (main): Remove default Guix manifest.
| Arun Isaac |
2024-11-06 | command-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-06 | command-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-06 | bin: 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-06 | command-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-06 | command-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-06 | utils: 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-06 | command-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-06 | command-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-06 | slurm-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-06 | slurm-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-06 | slurm-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-06 | README: Add ravanan pronunciation.•••* README.md: Add ravanan pronunciation.
| Arun Isaac |
2024-10-11 | workflow: Report file interning.•••* ravanan/workflow.scm (intern-file): Report file interning.
| Arun Isaac |
2024-10-11 | workflow: 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-11 | command-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-11 | command-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-10 | workflow: 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-10 | slurm-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-09 | slurm-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-09 | batch-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-08 | command-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-08 | README: Add CI badge.•••* README.md: Add CI badge.
| Arun Isaac |
2024-10-08 | command-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-08 | javascript: 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-08 | javascript: Handle node calls without context.•••* ravanan/javascript.scm (evaluate-using-node): Handle cases when
context is #f.
| Arun Isaac |
2024-10-08 | javascript: 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-08 | tests: 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-07 | command-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-07 | bin: 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-07 | bin: 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-04 | javascript: 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-04 | javascript: 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-04 | monads: 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-04 | javascript: 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-04 | command-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-04 | command-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 |
2024-10-02 | command-line-tool: Embed int value into G-expression.•••* ravanan/command-line-tool.scm (command-line-binding->args): Embed
int value into G-expression instead of evaluating it immediately.
| Arun Isaac |