diff --git a/.github/workflows/dotnet-build.yml b/.github/workflows/dotnet-build.yml index 8de3437fd5..88e86399b4 100644 --- a/.github/workflows/dotnet-build.yml +++ b/.github/workflows/dotnet-build.yml @@ -32,7 +32,7 @@ env: PathToCommunityToolkitMediaElementCsproj: 'src/CommunityToolkit.Maui.MediaElement/CommunityToolkit.Maui.MediaElement.csproj' PathToCommunityToolkitMapsCsproj: 'src/CommunityToolkit.Maui.Maps/CommunityToolkit.Maui.Maps.csproj' PathToCommunityToolkitSampleCsproj: 'samples/CommunityToolkit.Maui.Sample/CommunityToolkit.Maui.Sample.csproj' - PathToCommunityToolkitUnitTestCsproj: 'src/CommunityToolkit.Maui.UnitTests' + PathToCommunityToolkitUnitTestProjectDirectory: 'src/CommunityToolkit.Maui.UnitTests' PathToCommunityToolkitAnalyzersCsproj: 'src/CommunityToolkit.Maui.Analyzers/CommunityToolkit.Maui.Analyzers.csproj' PathToCommunityToolkitCameraAnalyzersCsproj: 'src/CommunityToolkit.Maui.Camera.Analyzers/CommunityToolkit.Maui.Camera.Analyzers.csproj' PathToCommunityToolkitMediaElementAnalyzersCsproj: 'src/CommunityToolkit.Maui.MediaElement.Analyzers/CommunityToolkit.Maui.MediaElement.Analyzers.csproj' @@ -41,7 +41,7 @@ env: PathToCommunityToolkitAnalyzersCodeFixCsproj: 'src/CommunityToolkit.Maui.Analyzers.CodeFixes/CommunityToolkit.Maui.Analyzers.CodeFixes.csproj' PathToCommunityToolkitCameraAnalyzersCodeFixCsproj: 'src/CommunityToolkit.Maui.Camera.Analyzers.CodeFixes/CommunityToolkit.Maui.Camera.Analyzers.CodeFixes.csproj' PathToCommunityToolkitMediaElementAnalyzersCodeFixCsproj: 'src/CommunityToolkit.Maui.MediaElement.Analyzers.CodeFixes/CommunityToolkit.Maui.MediaElement.Analyzers.CodeFixes.csproj' - PathToCommunityToolkitAnalyzersUnitTestCsproj: 'src/CommunityToolkit.Maui.Analyzers.UnitTests' + PathToCommunityToolkitAnalyzersUnitTestProjectDirectory: 'src/CommunityToolkit.Maui.Analyzers.UnitTests' PathToCommunityToolkitAnalyzersBenchmarkCsproj: 'src/CommunityToolkit.Maui.Analyzers.Benchmarks/CommunityToolkit.Maui.Analyzers.Benchmarks.csproj' CommunityToolkitSampleApp_Xcode_Version: '16.2' CommunityToolkitLibrary_Xcode_Version: '16.2' @@ -128,7 +128,7 @@ jobs: shell: bash - name: Set Xcode version - if: runner.os == 'macOS' + if: ${{ runner.os == 'macOS' }} run: | echo Installed Xcode Versions: ls -al /Applications | grep Xcode @@ -195,22 +195,21 @@ jobs: - name: Run CommunityToolkit Analyzers UnitTests run: | - cd ${{ env.PathToCommunityToolkitAnalyzersUnitTestCsproj }} + cd ${{ env.PathToCommunityToolkitAnalyzersUnitTestProjectDirectory }} dotnet run -c Release --results-directory "${{ runner.temp }}" --coverage --coverage-output "${{ runner.temp }}/ut-analyzers.cobertura.xml" --coverage-output-format cobertura --report-xunit - name: Run CommunityToolkit UnitTests run: | - cd ${{ env.PathToCommunityToolkitUnitTestCsproj }} + cd ${{ env.PathToCommunityToolkitUnitTestProjectDirectory }} dotnet run -c Release --results-directory "${{ runner.temp }}" --coverage --coverage-output "${{ runner.temp }}/ut.cobertura.xml" --coverage-output-format cobertura --report-xunit - - name: Publish Test Results - if: runner.os == 'Windows' && (${{ success() || failure() }}) - uses: actions/upload-artifact@v4 - with: - name: Test Results ${{ github.run_number }} ${{ runner.os }} - path: | - ${{ runner.temp }}/*.xunit - ${{ runner.temp }}/*cobertura.xml + - name: Create code coverage report + if: ${{ runner.os == 'Windows' && (success() || failure()) }} + run: | + dotnet tool install -g dotnet-reportgenerator-globaltool + reportgenerator -reports:'${{ runner.temp }}\*cobertura.xml' -targetdir:CodeCoverage -reporttypes:'MarkdownSummaryGithub' + cat CodeCoverage/SummaryGithub.md >> $GITHUB_STEP_SUMMARY + shell: bash - name: Pack CommunityToolkit.Maui.Core NuGet run: dotnet pack -c Release ${{ env.PathToCommunityToolkitCoreCsproj }} -p:PackageVersion=${{ env.NugetPackageVersion }} @@ -228,7 +227,7 @@ jobs: run: dotnet pack -c Release ${{ env.PathToCommunityToolkitMapsCsproj }} -p:PackageVersion=${{ env.NugetPackageVersionMaps }} - name: Copy NuGet Packages to Staging Directory - if: runner.os == 'Windows' && !startsWith(github.ref, 'refs/tags/') + if: ${{ runner.os == 'Windows' }} && !startsWith(github.ref, 'refs/tags/') run: | mkdir -p ${{ github.workspace }}/nuget Get-ChildItem -Path "./src" -Recurse | Where-Object { $_.Extension -match "nupkg" } | Copy-Item -Destination "${{ github.workspace }}/nuget" @@ -236,7 +235,7 @@ jobs: - name: Upload Package List uses: actions/upload-artifact@v4 - if: runner.os == 'Windows' + if: ${{ runner.os == 'Windows' }} with: name: nuget-list if-no-files-found: error @@ -244,7 +243,7 @@ jobs: ${{ github.workspace }}/.github/workflows/SignClientFileList.txt - name: Publish Packages - if: runner.os == 'Windows' + if: ${{ runner.os == 'Windows' }} uses: actions/upload-artifact@v4 with: name: packages