<p>I want to run different test suites on my helm release in different (partly manual) CI jobs.</p>
<p>How do I best execute these test suites from a CI job?</p>
<hr />
<p>Details:</p>
<p>With a single test suite, <code>helm test</code> is very helpful. But how can I easily tell <code>helm test</code> which test suite to execute?</p>
<p>Currently, I have only two test suites <code>A</code> and <code>B</code> and an environment variable <code>SUITE</code> I inject via helm install. The test job decides based on the value of <code>SUITE</code> which test suite to execute. But this injection is complex and I would like to have the possibility to execute multiple test suites sequentially or concurrently.</p>
<p>Thus I created two helm charts <code>A.yaml</code> and <code>B.yaml</code>. Can I somehow call <code>helm test</code> with a specific helm chart, e.g. <code>helm test general/A.yaml</code> (see <a href="https://stackoverflow.com/q/60818255/750378">Can Helm test be used to run separate suites?</a>)?</p>
<p>If not, what is the best approach? Using <code>deployment-A</code> and <code>deployment-B</code> with instances 0 and scale a deployment to 1 when we want to execute it? How do I then communicate the (un-)successful test execution (and log output) back to CI (gitlab in my case)?</p>

DaveFar
<p>It's possible to choose test cases using <code>helm test --filter name=value</code> - see the <a href="https://helm.sh/docs/helm/helm_test/" rel="nofollow noreferrer">helm docs</a>.</p>
<p>Note that <code>name</code> here refers to the the <code>metadata.name</code> in the helm chart. It's possible to use other attributes set in the helm chart.</p>
