Skip to content

Updated workflow templating#656

Open
mranst wants to merge 349 commits into
developfrom
se/mranst/workflow_templating_redux2
Open

Updated workflow templating#656
mranst wants to merge 349 commits into
developfrom
se/mranst/workflow_templating_redux2

Conversation

@mranst

@mranst mranst commented Nov 10, 2025

Copy link
Copy Markdown
Collaborator

This is the most recent version of the concept of updating the workflow templating to use python. This approach should be more straightforward and easier to understand than the previous version, as it uses the same jinja templating in the graph section to make it easier to read (though it doesn't necessarily have to). This pr also merges the task_runtimes and task_questions objects used by the previous pr into one object for simplicity. I'm aiming for this approach to allow for greater independence of the tasks from the suite creation system, to allow generating configs for single tasks and having mock values for code tests for each task, but that's not ready to show off yet.

I still need to merge develop into this and update the docs, but I wanted to open this up as a draft

@mranst mranst marked this pull request as ready for review June 15, 2026 13:36
@mranst mranst added the passes tier1 Add this tag to indicate that the tier1 tests have been activated and passed on github. label Jun 15, 2026
@mranst mranst self-assigned this Jun 15, 2026
@mranst

mranst commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator Author

Bringing in a few more eyes to this PR now that we have some more people familiar with how Swell works. This is a complex PR that changes a lot of how swell is constructed, so please let me know if you have any questions or want a more detailed description on anything. I wrote some docs explaining how the new workflow templating works: https://github.com/GEOS-ESM/swell/blob/se/mranst/workflow_templating_redux2/docs/examples/templating_workflows.md.

To summarize the advantages introduced by this PR:

  1. More flexibility in constructing workflows by allowing more dynamic python logic within each suite's setup
  2. With the above comes easier implementation of features to swell, for example this PR also introduces email functionality for tasks and the ability to set tasks to pause on
  3. Less rigid construction. This PR moves task question assignments from task_questions.py to individual task files.

Should we choose to merge this PR, I know it is bound to affect incoming PR's that are based on the old system. I am happy to assist in merging branches with this system to make this as painless as possible

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

passes tier1 Add this tag to indicate that the tier1 tests have been activated and passed on github.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants