I am coming from Jenkins and thinking about conditional workflow where I could trigger jobs based on certain parameters. In my use case, we have a monorepo with multiple apps. I don’t want to rebuild everything all the time so my approach was to generate a list of changed files with “git diff” and based on that generate a list of apps that depend on them and need to be re-built. Then I would like to trigger jobs that correspond to those apps that changed. Does anyone have an idea how this could be accomplished with concourse-ci?
If conditions is not a possible solution in this case I was thinking about having a pipeline with jobs for all the apps and somehow pass parameters to them with list of apps that were affected. In a run command I could check if parameter (variable) corresponding to a particular app exists and then start the build. If it doesn’t, I would just exit 0. All jobs would run every time but only perform a real build when needed. I still need to experiment to see if this is doable.
I would appreciate any suggestions on this. Thanks!