Stryker #12
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Stryker | |
on: | |
workflow_dispatch: | |
inputs: | |
dotnet_version: | |
description: 'dotnet version' | |
required: true | |
type: string | |
solution_path: | |
description: 'solution path' | |
required: true | |
type: string | |
workflow_call: | |
inputs: | |
dotnet_version: | |
required: true | |
type: string | |
solution_path: | |
required: true | |
type: string | |
jobs: | |
stryker: | |
name: Mutation testing | |
runs-on: ubuntu-latest | |
steps: | |
- name: Set default values | |
id: default_values | |
run: | | |
DOTNET_VERSION=${{ github.event.inputs.dotnet_version }} | |
SOLUTION_PATH=${{ github.event.inputs.solution_path }} | |
echo "dotnet_version=${DOTNET_VERSION:-"8.0.x"}" >> "$GITHUB_OUTPUT" | |
echo "solution_path=${SOLUTION_PATH:-"./Zus.sln"}" >> "$GITHUB_OUTPUT" | |
- name: Checkout source code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: ${{ steps.default_values.outputs.dotnet_version }} | |
- name: Stryker mutator | |
id: stryker | |
run: | | |
export PATH="$PATH:$HOME/.dotnet/tools" | |
dotnet tool install -g dotnet-stryker | |
echo "stryker_result=$(dotnet stryker -O ./reports | grep -o '[0-9]\+.[0-9]\+\s*%')" >> $GITHUB_ENV | |
- name: Upload report | |
uses: actions/upload-artifact@v4 | |
with: | |
name: page | |
path: ${{ github.workspace }}/reports | |
- name: Use output | |
run: echo "The output of the command was ${{ env.stryker_result }}" | |
- name: Create Awesome Badge | |
uses: schneegans/dynamic-badges-action@v1.7.0 | |
with: | |
auth: ${{ secrets.GIST_SECRET }} | |
gistID: 9f0cbbbaf1e2c85744909ca282bdf21c | |
filename: stryker.json | |
logo: Stryker | |
label: Mutation Score | |
message: ${{ env.stryker_result }} | |
color: '#4169E1' | |
deploy-report: | |
name: Deploy github pages | |
needs: stryker | |
if: ${{ always() && contains(join(needs.*.result, ','), 'success') }}. | |
uses: ./.github/workflows/gh-pages.yml | |
secrets: inherit |