Skip to content

Advanced Docs Part 1#52

Merged
islas merged 11 commits into
releases/1.1.0from
advanced_docs_pt1
Jun 11, 2026
Merged

Advanced Docs Part 1#52
islas merged 11 commits into
releases/1.1.0from
advanced_docs_pt1

Conversation

@islas

@islas islas commented Jun 11, 2026

Copy link
Copy Markdown
Owner

Add much needed documentation on custom Action classes, complex usage of dereference strings, and the Logger:

  • Logger reference API introduced
  • Documentation on general inheritance allowing JSON interface extending (OptionLoader)
  • Documentation on deriving from Action and expected practice, with notes on execution contexts
  • Documentation on dereference strings and their particular use in deferred runtime evaluation vs hand-written logic.
  • Small note on paired project https://github.com/islas/sane-workflows-action/ for use in GitHub Actions
  • Link back to readthedocs main documentation in top-level readme

A minor fix of having Action.outputs persistent across execution context is also included.

Documentation was slightly restructured to avoid unnecessary nesting/clicking.

@islas islas merged commit fafe82e into releases/1.1.0 Jun 11, 2026
8 checks passed
islas added a commit that referenced this pull request Jun 12, 2026
Ensure that dependency outputs are current at Action start

To account for different execution context between the orchestrator task
and the actual Action run, Actions must save+load their outputs.

This is fine for a local run host where the tasks are directly executed
by the main orchestrator process and thus executed in DAG-dependency
order. However in HPC environments tasks are submitted into a queue in
DAG order with dependency info set at that time. Execution and thus
evaluation of outputs will not occur until the real host runs the job.

This delay would cause dependency outputs to run with the old values set
at submission time instead of the values after dependencies have
finished executing. To remedy this, building off of #52, Actions now
reload the dependency outputs inside the `action_launcher.py`

Note that dependency outputs will still be incorrect within the main
orchestrator process context, but at this stage this information should
not be needed as is never stored beyond the pickle file. Should users
need the dependency output information per action in this situation
(e.g. post_run_actions() for the Host) users can call the internal API
function `Action.reload_dependency_outputs()` manually.
@islas islas mentioned this pull request Jun 15, 2026
islas added a commit that referenced this pull request Jun 15, 2026
# Official release

Includes the following PRs:
* #38
* #39
* #40
* #41
* #42 
* #43 
* #44 
* #45 
* #46 
* #47 
* #48 
* #49 
* #50 
* #51 
* #52 
* #53 
* #54 
* #55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant