- After a TeamCity build is completed, the runtime log file is stored in the Artifacts section for each build.
- Each new build runs a process that issues an API call to TeamCity. This API call looks for the latest, successful build and downloads the log file. That request something like this:
HTTParty.get("#{team-city-uri}/builds/#{parameters-that-identify-a-completed-successful-build}/artifacts/content/parallel_rspec_runtime.log")
- After fetching the file, we read the file, remove any uwanted noise caused by stdout, and write the results to a new file.
- When calling
parallel_tests
, we pass the new file(1). Example:parallel_rspec --group-by runtime --runtime-log /logs/parallel_rspec_runtime.log -- path_to_spec_files
(1) Word of caution, Parallel Tests states that "when a runtime log is filled" the default group_by
strategy is runtime
. However, after digging into the source of the gem, we found t