Age | Commit message (Expand) | Author |
2024-09-23 | command-line-tool: Separate file copying from canonization.•••*
ravanan/command-line-tool.scm (build-command-line-tool-script)[canonicalize-file-value]:
Separate out file copying into ...
[copy-file-value]: ... new function.
[capture-outputs-gexp, capture-secondary-file, path->value]: Call
copy-file-value after canonicalize-file-value.
| Arun Isaac |
2024-09-23 | utils: Move json-ref to (ravanan work utils).•••* ravanan/utils.scm: Move to ...
* ravanan/work/utils.scm (json-ref): ... here.
* ravanan/slurm-api.scm: Import (ravanan work utils) instead
of (ravanan utils).
| Arun Isaac |
2024-09-20 | command-line-tool: Add missing argument to canonicalize-file-value.•••* ravanan/command-line-tool.scm (build-command-line-tool-script): Add
missing workflow-output-directory argument to canonicalize-file-value.
| Arun Isaac |
2024-09-19 | work/utils: Add alist=?.•••* ravanan/work/utils.scm (alist=?): New public function.
| Arun Isaac |
2024-09-19 | propnet: Describe state machine implementation.•••* ravanan/propnet.scm (run-propnet): Add comment describing state
machine implementation.
| Arun Isaac |
2024-09-16 | bin: Explain why we support the SLURM_JWT=token format.•••* bin/ravanan (read-jwt): Explain why we support the SLURM_JWT=token
format.
| Arun Isaac |
2024-09-13 | bin: Support SLURM_JWT=token format in JWT files.•••* bin/ravanan: Import (srfi srfi-26) and (ravanan utils).
(read-jwt): Support SLURM_JWT=token format.
| Arun Isaac |
2024-09-13 | bin: Refactor JWT reading into separate function.•••* bin/ravanan (read-jwt): New function.
(main): Call read-jwt.
| Arun Isaac |
2024-09-13 | utils: Add string-trim-prefix.•••* ravanan/utils.scm (string-trim-prefix): New public function.
| Arun Isaac |
2024-09-13 | command-line-tool: Add nameroot and nameext fields.•••*
ravanan/command-line-tool.scm (resolve-inputs)[canonicalize-file-value],
(build-command-line-tool-script)[canonicalize-file-value]: Add
nameroot and nameext fields.
| Arun Isaac |
2024-09-13 | command-line-tool: Remove unused collect-input-files function.•••* ravanan/command-line-tool.scm (collect-input-files): Delete
function.
| Arun Isaac |
2024-09-13 | command-line-tool: Do not embed stdout-filename outside main body.•••stdout-output->value cannot access the inputs variable, and thus
will fail when stdout-filename is a parameter reference that needs to
be evaluated. To avoid this, pass it in as an argument.
*
ravanan/command-line-tool.scm (build-command-line-tool-script)[stdout-output->value]:
Accept stdout-filename as argument instead of G-expression embedding.
Pass stdout-filename as argument to stdout-output->value.
| Arun Isaac |
2024-09-13 | command-line-tool: Create vectors of secondary files for recursion.•••* ravanan/command-line-tool.scm (resolve-inputs)[resolve]: When
recursing, create a vector of secondary files.
| Arun Isaac |
2024-09-13 | job-state: Pass on slurm API endpoint and jwt recursively.•••* ravanan/job-state.scm (job-state-status): Pass on slurm API endpoint
and jwt recursively.
| Arun Isaac |
2024-09-13 | config: Remove.•••* Makefile (config_file): Delete variable.
(sources): Remove $(config_file).
(all, %.go): Do not depend on $(config_file).
(clean): Do not delete $(config_file).
* ravanan/config.scm, ravanan/config.scm.in: Delete files.
* ravanan/command-line-tool.scm: Do not import (ravanan config).
| Arun Isaac |
2024-09-13 | command-line-tool: Support secondary files.•••*
ravanan/command-line-tool.scm (resolve-inputs)[canonicalize-file-input,
match-secondary-file-pattern, check-secondary-files]: New functions.
[resolve]: Accept maybe-secondary-files argument.
Check that secondary files are provided with File type inputs.
(copy-input-files-gexp)[copy-input-files]: New function.
Copy secondary files to inputs directory.
(build-command-line-tool-script)[capture-outputs-gexp]: Pass
maybe-secondary-files argument to other-output->value.
[capture-secondary-file]: New function.
[path->value]: Call capture-secondary-file. Accept
maybe-secondary-files argument.
[stdout-output->value]: Pass maybe-secondary-files argument to
path->value.
[other-output->value]: Accept maybe-secondary-files argument and pass
it on to path->value.
Add TODO note about updating paths of staged files in inputs objects.
| Arun Isaac |
2024-09-13 | vectors: Add vector-filter-map.•••* ravanan/work/vectors.scm (vector-filter-map): New public function.
| Arun Isaac |
2024-09-13 | work/command-line-tool: Comment on match-type clauses.•••* ravanan/work/command-line-tool.scm (match-type): Comment on cond
ladder clauses.
| Arun Isaac |
2024-09-13 | work/command-line-tool: Comment on formal-parameter-type clauses.•••* ravanan/work/command-line-tool.scm (formal-parameter-type): Comment
on cond ladder clauses.
| Arun Isaac |
2024-09-13 | vectors: Rename module to (ravanan work vectors).•••* ravanan/vectors.scm: Move to ravanan/work/vectors.scm.
* ravanan/command-line-tool.scm, ravanan/job-state.scm,
ravanan/reader.scm, ravanan/workflow.scm: Import (ravanan work
vectors) instead of (ravanan vectors).
| Arun Isaac |
2024-09-13 | monads: Rename module to (ravanan work monads).•••* ravanan/monads.scm: Move to ravanan/work/monads.scm.
* ravanan/command-line-tool.scm, ravanan/propnet.scm,
ravanan/reader.scm, ravanan/workflow.scm: Import (ravanan work
vectors) instead of (ravanan vectors).
| Arun Isaac |
2024-09-13 | utils: Move assoc-ref* to (ravanan work utils).•••* ravanan/utils.scm: Do not import (rnrs base). Move assoc-ref* to ...
* ravanan/work/utils.scm: ... here. Import assertion-violation
from (rnrs base).
* ravanan/command-line-tool.scm, ravanan/workflow.scm: Do not
import (ravanan utils).
| Arun Isaac |
2024-09-13 | command-line-tool: Do not re-intern already interned files.•••* ravanan/command-line-tool.scm (intern-file): Intern file only if it
is not already in the store.
| Arun Isaac |
2024-09-13 | command-line-tool: Improve grammar in docstring.•••* ravanan/command-line-tool.scm (copy-input-files-gexp): Make
G-expression singular.
| Arun Isaac |
2024-09-13 | command-line-tool: Coerce expressions in glob patterns.•••* ravanan/command-line-tool.scm (build-command-line-tool-script):
Coerce expressions in glob patterns.
| Arun Isaac |
2024-09-13 | command-line-tool: Import (ravanan work ui) into G-expression.•••* ravanan/command-line-tool.scm (build-command-line-tool-script):
Import (ravanan work ui) into G-expression.
| Arun Isaac |
2024-09-13 | ui: Rename module to (ravanan work ui).•••* ravanan/ui.scm: Move to ravanan/work/ui.scm.
* ravanan/command-line-tool.scm, ravanan/workflow.scm: Import (ravanan
work ui) instead of (ravanan ui).
| Arun Isaac |
2024-09-13 | reader: Normalize secondaryFiles in formals.•••* ravanan/reader.scm (normalize-workflow)[normalize-secondary-files]:
New function.
[normalize-formal-input]: Use normalize-secondary-files.
[normalize-formal-output]: New function.
Call normalie-formal-output from main body.
| Arun Isaac |
2024-09-12 | vectors: Add vector-append-map.•••* ravanan/vectors.scm (vector-append-map): New public function.
| Arun Isaac |
2024-09-12 | reader: Refactor type normalization into separate function.•••* ravanan/reader.scm (normalize-formals): Refactor type normalization
into ...
[normalize-type]: ... new function.
| Arun Isaac |
2024-09-12 | command-line-tool: Import guile-filesystem as an extension.•••This resolves the warning about importing (ice-9 filesystem) from the
host.
* ravanan/command-line-tool.scm: Import guile-filesystem from (gnu
packages guile-xyz).
(build-command-line-tool-script): Use with-extensions, not
with-imported-modules, to import guile-filesystem.
| Arun Isaac |
2024-09-12 | command-line-tool: Support File type staging entries.•••* ravanan/command-line-tool.scm (build-command-line-tool-script):
Support File type staging entries.
| Arun Isaac |
2024-09-12 | command-line-tool: Support interpolation with parameter references.•••* ravanan/command-line-tool.scm (javascript-expression?): Return #t
even for parameter references mixed with literals.
(interpolate-parameter-references): New function.
(strip-javascript-expression): Delete function.
(coerce-expression): Use interpolate-parameter-references instead of
strip-javascript-expression.
| Arun Isaac |
2024-09-11 | command-line-tool: Import (rnrs io ports) into G-exp for put-string.•••* ravanan/command-line-tool.scm (build-command-line-tool-script):
Import (rnrs io ports).
| Arun Isaac |
2024-09-11 | command-line-tool: Write, not read from, literal staged file.•••* ravanan/command-line-tool.scm (build-command-line-tool-script):
Replace call-with-output-file with call-with-input-file.
| Arun Isaac |
2024-09-11 | command-line-tool: Use coerce-expression with staging files.•••*
ravanan/command-line-tool.scm (build-command-line-tool-script)[files-to-stage]:
Use coerce-expression.
Adapt calling expression.
| Arun Isaac |
2024-09-11 | command-line-tool: Return maybe monad from maybe-bind.•••* ravanan/command-line-tool.scm (build-command-line-tool-script):
Wrap result of files-to-stage in a maybe monad.
| Arun Isaac |
2024-09-11 | command-line-tool: Use vector-map->list.•••*
ravanan/command-line-tool.scm (build-command-line-tool-script)[files-to-stage]:
Use vector-map->list.
| Arun Isaac |
2024-09-11 | ui: Add docstrings.•••* ravanan/ui.scm (warning, user-error): Add docstrings.
| Arun Isaac |
2024-09-11 | workflow: Ensure required inputs are specified.•••* ravanan/workflow.scm: Import (ravanan ui).
(run-workflow): Error out when required inputs are not specified.
| Arun Isaac |
2024-09-11 | workflow: Move optional input predicate to separate function.•••* ravanan/workflow.scm (optional-input?): New function.
(command-line-tool->propagator): Use optional-input?.
| Arun Isaac |
2024-09-11 | ui: Rename error to user-error.•••error collides with a core binding.
* ravanan/ui.scm (error): Rename to user-error.
* ravanan/command-line-tool.scm: Import error without renaming to
raise-error. Replace calls to error with user-error, and calls to
raise-error with error.
| Arun Isaac |
2024-09-11 | ui: Move warning and error reporting functions to separate module.•••* ravanan/command-line-tool.scm: Import (ravanan ui).
(warning, error): Move to (ravanan ui).
* ravanan/ui.scm: New file.
| Arun Isaac |
2024-09-10 | job-state: Move job-state records into separate module.•••* ravanan/job-state.scm: New file.
* ravanan/command-line-tool.scm: Import (ravanan job-state).
(<single-machine-job-state>, <slurm-job-state>): Move to (ravanan
job-state).
(command-line-tool-scheduler): Use job-state-status and
job-state-script.
| Arun Isaac |
2024-09-10 | slurm-api: Set name of job.•••* ravanan/slurm-api.scm (submit-job): Accept name argument and set it
as the job name.
* ravanan/command-line-tool.scm (run-command-line-tool): Pass name to
submit-job.
| Arun Isaac |
2024-09-10 | propnet: Trigger propagators with no inputs.•••* ravanan/propnet.scm (run-propnet): Pre-schedule all propagators.
* tests/propnet.scm: New file.
| Arun Isaac |
2024-09-10 | workflow: Support ScatterFeatureRequirement.•••* ravanan/workflow.scm (%supported-requirements): Add
ScatterFeatureRequirement.
| Arun Isaac |
2024-09-10 | dir-locals: Do not indent call-with-temporary-directory specially.•••* .dir-locals.el (scheme-mode): Do not set scheme-indent-function on
call-with-temporary-directory.
| Arun Isaac |
2024-09-10 | dir-locals: Set fill-column to 80 only in scheme-mode.•••For other major modes, especially in magit commit message buffers, we
want the default fill-column of 70.
* .dir-locals.el (nil)[fill-column]: Move to scheme-mode.
| Arun Isaac |
2024-09-10 | tests: Add tests.•••* tests/work/command-line-tool.scm: New file.
| Arun Isaac |