Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

stem: re-implement as Cylc install plugin #205

Open
oliver-sanders opened this issue Jan 16, 2023 · 0 comments
Open

stem: re-implement as Cylc install plugin #205

oliver-sanders opened this issue Jan 16, 2023 · 0 comments
Assignees
Milestone

Comments

@oliver-sanders
Copy link
Member

The rose stem command wraps cylc install which is a bit awkward.

  • The bespoke command is an additional complication to working practices.
  • Cylc commands like cylc validate and cylc graph may fail on the source due to missing template variables.
  • It makes Stem seem like a system onto itself whereas it is really just setting a couple of template variables.

Consider re-implementing rose stem as a pure plugin so that the Stem working practices are the same as for any other Cylc workflow. This would require Stem workflows to use a flag file or load a Stem plugin in some way.

For example if we were to implement a template variable file for Cylc, a Stem workflow might look something like:

# cylc_template_variable_file.py

from cylc.rose.stem import get_stem_variables

def get_template_variables():
    # this line makes a workflow a `rose stem` workflow
    return get_stem_variables()

Otherwise we could use a flag file or configuration something like:

# rose-suite.conf

[stem]  # activate rose-stem
groups=foo bar baz  # define defaults

[template variables]
OPT_1=True
OPT_2=False
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

No branches or pull requests

1 participant