How to fail github action using the new dotnet code-coverage command

Viewed 74

I am trying to create a build script to restore, build, test and code coverage a .net solution and then publish the results to sonarcloud. I have succeeded in most of this, but there is a new dotnet step for collecting code-coverage that has been suggested which can be used as follows:

 - name: Install dotnet coverage
   run: dotnet tool install --global dotnet-coverage

 - name: Coverage
   run: dotnet-coverage collect dotnet test --no-build -f xml  -o 'coverage.xml'

The step runs absolutely fine, collects code coverage as expected, but it took me a while to realise that because of the nested call to the dotnet test command, this step does NOT fail when a test fails. To me I'm expecting that to be the default behaviour. Now, aside from splitting out the test command into a separate step to force this, is there a way of making the above line fail when a test fails. Right now I've been forced to do this:

- name: Test
  run:  dotnet test --no-build

- name: Coverage
  run: dotnet-coverage collect dotnet test --no-build -f xml  -o 'coverage.xml'

Which basically means running the tests twice which seems inefficient. Is there an easy way around this?

0 Answers
Related