We have a dependency tree with two projects, A & B where B depends on A.
A developer checks in code in both projects. Bamboo will not build these in any particular order since we are using repository polling. The dependency ordering just spawns new dependency builds, but does not perform any sort of ordering.
If a commit modifies A and B in a dependent way, what should happen is that A should be built prior to B. What happens is that Bamboo could pickup B prior to A, perform the B build and fail since A hasn't built yet, then build A since it was modified as well, then kick off a dependency build for B, which then passes.
Ideally, there should be an option to tell Bamboo that since B depends on A, prior to building B, check that A is up to date and built. We need this since the artifacts of builds are published in an ivy repository, so the B build doesn't know anything about A except where to get the published successful build.
A secondary option that would follow from this feature would be a blocked state. If project A fails tests, then any dependent projects should enter a blocked state until A passes.
So instead of just a dependency on the plan config, perhaps a set of dependency options, such as "depends"(current impl), "depends with parent checking", and "depends with parent check and blocking"