Modify Helm Tests to Execute Tests in Parallel
Currently the helm tests in our pipelines run one after another. While the Helm Test command does not provide support for running multiple tests at the same time it can be accomplished via bash by running the processes in the background (see first comment). Initial testing showed an improvement from ~35 minutes (running tests in serial) vs ~5 minutes (running as background processes). It will, however, also require a change to how we display the output as it will now need to be read from the logs generated from the tests once they are all completed as opposed to being shown in real time.
This will need to be tested specifically against the all packages pipeline as it will contain the most amount of tests. It is possible that some tests may not be able to run right away as there may not be enough resources to support the pods. However, they should be able to get scheduled once other tests complete. We may need to increase the helm test timeout to beyond 10 minutes, but if it works in this scenario it should work everywhere.