Make merge trains in QA tests independent
What does this MR do?
Stops the merged results and merge trains from sharing a merge train.
If multiple tests use the same project they'll use the same merge train. That can cause tests to fail if one tries to use the merge train while it's in an unexpected state, e.g., trying to start a new train when one is already running (#196716 (closed))
This change creates a separate project for each test that uses a merge train.
- Uses the Commit API to add a file because it's faster than pushing.
- Adds a
runners_token
attribute to the Group resource, and lets resources be reloaded so updated data can be fetched. It's not clear why the runners token isn't available immediately upon creating a group, but reloading the API data fixes it. - Uses
finished_loading?
to wait after merging before continuing with the test.
See #196711 (closed) and #196716 (closed)
Does this MR meet the acceptance criteria?
Conformity
Edited by Dan Davison