Good morning all,
We recently changed our product to support two database backends rather than just the one we had before. Previously, we merged all pull requests into our staging branch, ran a Bamboo job with our automated test suite against it and used branch merging to push the changes to the release branch if the job was successful against the staging branch.
What we'd like to do now is have the following workflow:
- Developer merges pull request to staging branch.
- Two jobs are triggered by that commit, one with each of the databases we support.
- If and only if both of those jobs succeed, have the branch merging feature push the code to the release branch.
Here are some of the complications I'm facing:
- One job takes half the time of the other as database #1 is much slower than database #2.
- The individual jobs need to run simultaneously because we can't afford the delay of chaining them consecutively.
- Developers can continue to commit to the staging branch while these jobs are running as we don't currently block them from doing so.
I might be missing something really obvious but I haven't found a clean way to make all these things come together nicely. I truly appreciate any advice that points me in the right direction.
Thanks!