-
Notifications
You must be signed in to change notification settings - Fork 4
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
Honour always tag even when step selection is in use. #272
Conversation
My feeling is that |
Thanks @JSKenyon I like that idea. Do we need an extra command-line option to explicitly skip (--skip/-k) a step tagged with always? P.S. I've already been thinking about auto-dependencies for a future version: #254 (comment) |
I have added a simple (--skip-step/-k) command for explicitly disabling specific steps. This should also work when you want to skip a step inside a tagged group. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should -k/--skip also not apply inside a range selected with -s FROM:TO?
I have decided to take a stab at rewriting the |
@o-smirnov I have rewritten some of the restrict logic and I believe that it is now a little clearer. This probably results in slight changes in behaviour but I think the new approach is more powerful than the old. Specifically, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good and is extremely useful, thanks @JSKenyon!
Currently, invoking
stimela run recipe.yml -s dependent_step
will fail ifdependent_step
depends on the outputs of a preceding step. The user can specifystimela run recipe.yml -s dependency_step -s dependent_step
, but this can become tedious and may require more in-depth recipe knowledge. The natural mechanism for handling this case is thealways
tag i.e. steps tagged asalways
are integral to recipe functionality and as such should always be run. Currently,-s
will completely ignore any tags. This PR instead augments the selected steps with thealways
steps. One downside of this approach is that thealways
steps may be run even when they are unnecessary i.e. if a users only runs steps prior to the always step, they cannot be a requirement. @o-smirnov thoughts?