A test file that two steps run keeps a record for each step
In CI/CD, two split steps can run the same files: for example, one step runs a crate's unit tests and another runs its end-to-end tests. Each step now keeps its own record of the file, with its own recorded time, its own flaky-test history, and its own quarantine and 100-run proof. The first step in the config that runs the file keeps it under the file's path, as before. Other steps keep it as <file> (<step>) in the test list. Previously one record covered every step, which had two effects. A quarantined file ran its 100 proof runs in every step. And a long step's runs were timed by a short step's time, so they were stopped as hung, their machine was given back, and the check never finished. Also, a file that runs more than once in a check (a new test's 20 runs or a proof's 100) is no longer stopped for going quiet, and neither is a job run again after its machines were lost. They run to their step's time limit. A single run that goes quiet is still stopped after three times its usual time. GitLab pipelines now list each stage's jobs in name order, and a CodeBuild buildspec that reads Parameter Store names its first variable by name. Previously both orders could change from one build to the next.