In Join Plugin 1.15 it doesn't run a simple diamond:
Even though A is marked to build D even if some of the downstream jobs are unstable, the last job B or C to complete complain:
"Notifying upstream build rall #407 of job completion
All downstream projects complete!
Minimum result threshold not met for join project "
I think the threshold was not met because B fails and C succeeds. It would be great to have an option to force D to run no matter the status of B or C.