-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
repro: introduce --keep-going/--ignore to continue on error #9712
Conversation
`-k`/`--keep-going` will skip all dependents of a stage if it fails. It'll still try to reproduce the other dependencies of the pending targets, before it exits with a non-zero status. `--ignore-errors` will treat any error during stage execution as a success, and will continue executing other dependencies as if it succeeded. Exits with 0 even on failure. Also fixes: * --force-downstream used to force everything even if one upstream nodes changed. This used to work when we supported a single targets, but there could be independent pipelines, so we should not force everything if any node changes. Now we'll force reproduce the stage only if one of its dependency changed upstream or it's upstream node was also forced. * Makes `--downstream` more correct, in relation to `--allow-missing` and `--pull`. Now we use an active graph for downstream/upstream logic instead of a subgraph. Note that this does not affect the downstream logic though, as dvc always goes downstream, so subgraph was no different than active graph. The subgraph only did not have the upstream nodes.
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## main #9712 +/- ##
==========================================
- Coverage 90.53% 90.19% -0.35%
==========================================
Files 480 480
Lines 36423 36543 +120
Branches 5233 5258 +25
==========================================
- Hits 32976 32960 -16
- Misses 2855 2967 +112
- Partials 592 616 +24
☔ View full report in Codecov by Sentry. |
@dberenbaum, let me know what you think from the product side. |
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.
LGTM!
-k
/--keep-going
will skip all dependents of a stage if it fails. It'll still try to reproduce the other dependencies of the pending targets, before it exits with a non-zero status.--ignore-errors
will treat any error during stage execution as a success, and will continue executing other dependencies as if it succeeded. Exits with 0 even on failure.Also fixes:
--force-downstream used to force everything even if one upstream nodes changed. This used to work when we supported a single targets, but there could be independent pipelines, so we should not force everything if any node changes. Now we'll force reproduce the stage only if one of its dependency changed upstream or it's upstream node was also forced.
Makes
--downstream
more correct, in relation to--allow-missing
and--pull
. Now we use an active graph for downstream/upstream logic instead of a subgraph. Note that this does not affect the downstream logic though, as dvc always goes downstream, so subgraph was no different than active graph. The subgraph only did not have the upstream nodes.Fixes #8647 and fixes #7292.