I have a pipeline with a handful of tasks that are expensive (they take a lot of time, about 20 minutes to complete). Each task results in a docker image being pushed to my repository.
It’s not always necessary to run every task every time my pipeline runs - sometimes the previous docker image is up-to-date.
I’d like to be able to do something like this (pseudo-code):
check tagged_version_exists_in_docker: - on_success: do_nothing - on_failure: run_unit_tests build_docker_image push_to_docker_repo
In Concourse, when I have a failed step, I can’t change the status back to success at the end of the remediation steps. That is, I’d like to be able to have this compound step return a successful state at the end.
Is there a way to achieve what I’d like?
I’d rather not have each docker image generation step as its own pipeline, because having these steps in one overall pipeline is visually informative and convenient.
Thanks for any advice,