It looks like the case that when I delete an Argo cron workflow with argo cron delete, all the previous workflows (completed as well as still running ones) will also be deleted based on my observation. I'm not totally sure though and I haven't found a more detailed doc than https://argoproj.github.io/argo/cli/argo_cron_delete/.
What if I'd like to keep all the history workflows when e.g. updating the frequency of a cron workflow, e.g. to run every Monday instead of every day? What would be the recommended way to do such an update?
To add to Michael's answer:
CronWorkflowsare owners of all theWorkflowsthey spawn, so how their respectiveWorkflowsare deleted when the parentCronWorkflowis deleted is governed by Kubernetes' Garbage Collection policies. Argo does not delete the childWorkflowsof aCronWorkflowwhen the latter is deleted, Kuebrnetes does. You can see the Kubernetes doc for more options on how to manage this.(Edit: adding more info)
For example, to delete a
CronWorkflowwhile leaving its childrenWorkflowsintact, you can run:Source: I developed the
CronWorkflowfeature.