I am attempting to configure a TeamCity project to be built. We have a CI build and a QA build.
We would like changes not to appear in the pending list of the QA build until the CI build has been successfully completed.
We would like the QA build to be triggered manually, as currently happens.
I have looked at creating a Build Dependency and Build Chain. The documentation for snapshot dependencies says:
a queued build does not start until all its snapshot dependency builds are finished. Depending on the snapshot dependencies options and status of the dependency builds, build can start or just marked as failed to start without running;
This doesn't say whether the changes that triggered the build will appear in the pending changes for the QA build before the dependent (CI) build is complete.
I considered using a gated checkin so that any breaking changes are not even committed but this seems to depend on an IDE. We currently use git so I don't think we can do this.
My question is twofold: 1. Is using snapshot dependencies sufficient and appropriate to prevent breaking changes being available to the next QA build? 2. If not what is a better way of achieving this.
Thanks in advance for any help.