Is it possible for a dependent to ignore pending changes and instead use last successful build?
What I want to accomplish is normally counter intuitive as any pending changes SHOULD be taken into consideration, but I've got multiple configurations in chain(s) that are triggering rebuilds of dependencies because of a common GitHub repository. These builds are to my observation being caused because of a shared Repository for my build scripts themselves. Small changes put a Pending status in each build, but frankly these are superfluous rebuilds so I wasn't sure if it was possible to flag my chains as wanting to use the prior successful build and ignore pending changes if those changes are from X source.
The shared repository is actually my build scripts repository. What I initially designed was a single repository so that I knew the relative placement if I had dependencies on ps1 modules. Each configuration designed is set up with VCS_Roots to that repository and trigger rules are told to ignore that repository e.g. "-:root=Dev_Scripts_Development:**"
And my Checkout rules are customized within the Scripts repository itself. e.g.:
Configuration B:
+:Modules => Scripts\Modules\
+:Projects\Products\B\ => Scripts\Projects\Products\B\
Configuration C:
+:Modules => Scripts\Modules\
+:Projects\Addins\C\ => Scripts\Projects\Addins\C\
If the commit change is anywhere within Modules then both will see it. Despite maybe neither are needing the commit in question.
Configuration A is a dependency of Configuration B. Configuration B is a dependency of Configuration C. I have the dependency relationships to NOT [ ] use revision synchronization, [X] Do not run new build if there is a suitable one, [X] Only use successful builds from suitable ones. Configuration B and C respectively have the "Scripts" GitHub Repository; A does not. Configuration B and C respectively inherit their build number from A. When I commit a change to my Scripts repository and execute Configuration C it triggers a build of Configuration B instead of using the already found build.
I get the impression my options are either to create very elaborate checkout rules that narrow down exactly the files needed - or split apart my scripts repository and store them in the project repositories respectively.
Please sign in to leave a comment.