From f26f79c3c8117fe11d4536359f2ffdc1f75d9323 Mon Sep 17 00:00:00 2001 From: Adam Hathcock Date: Thu, 4 Jul 2024 09:43:16 +0100 Subject: [PATCH] Code coverage (#11) * code coverage * enable codecov for GA --- .github/workflows/ci.yml | 6 ++++++ .github/workflows/main.yml | 6 ++++++ .gitignore | 2 +- Directory.Packages.props | 4 +--- Speckle.Sdk.sln | 7 +++++++ build/Program.cs | 2 +- .../Speckle.Core.Serialization.Tests.csproj | 2 +- .../packages.lock.json | 12 ++++++------ .../packages.lock.json | 16 ++++++++-------- .../Speckle.Core.Tests.Unit.csproj | 2 +- tests/Speckle.Core.Tests.Unit/packages.lock.json | 8 ++++---- .../Speckle.Objects.Tests.Unit.csproj | 2 +- .../packages.lock.json | 8 ++++---- 13 files changed, 47 insertions(+), 30 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 69da395b..59b0cf96 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -24,3 +24,9 @@ jobs: - name: 🔫 Build All run: ./build.sh + + - name: Upload coverage reports to Codecov with GitHub Action + uses: codecov/codecov-action@v4.2.0 + with: + files: tests/**/coverage.xml + token: ${{ secrets.CODECOV_TOKEN }} diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 77c4e123..a3e209f1 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -28,6 +28,12 @@ jobs: - name: 🔫 Build and Pack run: ./build.sh pack + + - name: Upload coverage reports to Codecov with GitHub Action + uses: codecov/codecov-action@v4.2.0 + with: + files: tests/**/coverage.xml + token: ${{ secrets.CODECOV_TOKEN }} - name: Push to nuget.org run: dotnet nuget push output/*.nupkg --source "https://api.nuget.org/v3/index.json" --api-key ${{secrets.CONNECTORS_NUGET_TOKEN }} --skip-duplicate diff --git a/.gitignore b/.gitignore index d6a5a1d1..490cf959 100644 --- a/.gitignore +++ b/.gitignore @@ -18,4 +18,4 @@ tools .DS_Store *.snupkg -/tests/TestArchives/6d23a38c-f064-4ef1-ad89-b942396f53b9/Scratch +coverage.xml diff --git a/Directory.Packages.props b/Directory.Packages.props index bac13565..d3bd0091 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -1,5 +1,6 @@ + @@ -22,13 +23,10 @@ - - - diff --git a/Speckle.Sdk.sln b/Speckle.Sdk.sln index f628a053..fc72c591 100644 --- a/Speckle.Sdk.sln +++ b/Speckle.Sdk.sln @@ -34,6 +34,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Speckle.Core.Serialization. EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Speckle.Core.Tests.Integration", "tests\Speckle.Core.Tests.Integration\Speckle.Core.Tests.Integration.csproj", "{4FB41A6D-D139-4111-8115-E3F9F6BEAF24}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "workflows", "workflows", "{B623BD21-5CAA-43F9-A539-1835276C220E}" + ProjectSection(SolutionItems) = preProject + .github\workflows\main.yml = .github\workflows\main.yml + .github\workflows\ci.yml = .github\workflows\ci.yml + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -91,5 +97,6 @@ Global {68078752-7C54-471A-9CB6-E8AEF34A9EFF} = {5CB96C27-FC5B-4A41-86B6-951AF99B8116} {AA1E1E51-49AE-4F71-84B1-938E19695BE0} = {35047EE7-AD1D-4741-80A7-8F0E874718E9} {4FB41A6D-D139-4111-8115-E3F9F6BEAF24} = {35047EE7-AD1D-4741-80A7-8F0E874718E9} + {B623BD21-5CAA-43F9-A539-1835276C220E} = {DA2AED52-58F9-471E-8AD8-102FD36129E3} EndGlobalSection EndGlobal diff --git a/build/Program.cs b/build/Program.cs index 831d0efa..1e3eda1f 100644 --- a/build/Program.cs +++ b/build/Program.cs @@ -51,7 +51,7 @@ Target( Glob.Files(".", "**/*.Tests.Unit.csproj").Concat(Glob.Files(".", "**/*.Tests.csproj")), async file => { - await RunAsync("dotnet", $"test {file} -c Release --no-build --verbosity=normal"); + await RunAsync("dotnet", $"test {file} -c Release --no-build --no-restore --verbosity=normal /p:AltCover=true"); } ); diff --git a/tests/Speckle.Core.Serialization.Tests/Speckle.Core.Serialization.Tests.csproj b/tests/Speckle.Core.Serialization.Tests/Speckle.Core.Serialization.Tests.csproj index edf406d1..77fa5014 100644 --- a/tests/Speckle.Core.Serialization.Tests/Speckle.Core.Serialization.Tests.csproj +++ b/tests/Speckle.Core.Serialization.Tests/Speckle.Core.Serialization.Tests.csproj @@ -8,8 +8,8 @@ + - diff --git a/tests/Speckle.Core.Serialization.Tests/packages.lock.json b/tests/Speckle.Core.Serialization.Tests/packages.lock.json index ae486086..16d05b66 100644 --- a/tests/Speckle.Core.Serialization.Tests/packages.lock.json +++ b/tests/Speckle.Core.Serialization.Tests/packages.lock.json @@ -2,6 +2,12 @@ "version": 2, "dependencies": { "net8.0": { + "altcover": { + "type": "Direct", + "requested": "[8.8.74, )", + "resolved": "8.8.74", + "contentHash": "e8RZNE0vZnuBk/gOAWu9K5wm3S7dOrOlZje3PHI9PJUHqvP1cxVJD1eXAAmddFVlixowB7C7/zvC16GnunC2LQ==" + }, "FluentAssertions": { "type": "Direct", "requested": "[6.12.0, )", @@ -11,12 +17,6 @@ "System.Configuration.ConfigurationManager": "4.4.0" } }, - "JunitXml.TestLogger": { - "type": "Direct", - "requested": "[3.0.124, )", - "resolved": "3.0.124", - "contentHash": "QTZhSNm/xjj24W1yterf6eABv6KO+Y9jBqpau5RzPehdXTXkZcGQaLf/i50nTl+qnSwpbKkrC+bSyvLRE1ZNAg==" - }, "Microsoft.NET.Test.Sdk": { "type": "Direct", "requested": "[17.10.0, )", diff --git a/tests/Speckle.Core.Tests.Integration/packages.lock.json b/tests/Speckle.Core.Tests.Integration/packages.lock.json index c38efab3..b0046560 100644 --- a/tests/Speckle.Core.Tests.Integration/packages.lock.json +++ b/tests/Speckle.Core.Tests.Integration/packages.lock.json @@ -306,12 +306,12 @@ "speckle.core.tests.unit": { "type": "Project", "dependencies": { - "JunitXml.TestLogger": "[3.0.124, )", "Microsoft.NET.Test.Sdk": "[17.10.0, )", "NUnit": "[4.1.0, )", "NUnit3TestAdapter": "[4.5.0, )", "Speckle.Core": "[1.0.0, )", - "Speckle.Transports.Disk": "[1.0.0, )" + "Speckle.Transports.Disk": "[1.0.0, )", + "altcover": "[8.8.74, )" } }, "speckle.transports.disk": { @@ -320,6 +320,12 @@ "Speckle.Core": "[1.0.0, )" } }, + "altcover": { + "type": "CentralTransitive", + "requested": "[8.8.74, )", + "resolved": "8.8.74", + "contentHash": "e8RZNE0vZnuBk/gOAWu9K5wm3S7dOrOlZje3PHI9PJUHqvP1cxVJD1eXAAmddFVlixowB7C7/zvC16GnunC2LQ==" + }, "GraphQL.Client": { "type": "CentralTransitive", "requested": "[6.0.0, )", @@ -331,12 +337,6 @@ "System.Reactive": "5.0.0" } }, - "JunitXml.TestLogger": { - "type": "CentralTransitive", - "requested": "[3.0.124, )", - "resolved": "3.0.124", - "contentHash": "QTZhSNm/xjj24W1yterf6eABv6KO+Y9jBqpau5RzPehdXTXkZcGQaLf/i50nTl+qnSwpbKkrC+bSyvLRE1ZNAg==" - }, "Microsoft.CSharp": { "type": "CentralTransitive", "requested": "[4.7.0, )", diff --git a/tests/Speckle.Core.Tests.Unit/Speckle.Core.Tests.Unit.csproj b/tests/Speckle.Core.Tests.Unit/Speckle.Core.Tests.Unit.csproj index 6c07991e..923bd79e 100644 --- a/tests/Speckle.Core.Tests.Unit/Speckle.Core.Tests.Unit.csproj +++ b/tests/Speckle.Core.Tests.Unit/Speckle.Core.Tests.Unit.csproj @@ -8,7 +8,7 @@ - + diff --git a/tests/Speckle.Core.Tests.Unit/packages.lock.json b/tests/Speckle.Core.Tests.Unit/packages.lock.json index af20dbd0..574d51dc 100644 --- a/tests/Speckle.Core.Tests.Unit/packages.lock.json +++ b/tests/Speckle.Core.Tests.Unit/packages.lock.json @@ -2,11 +2,11 @@ "version": 2, "dependencies": { "net8.0": { - "JunitXml.TestLogger": { + "altcover": { "type": "Direct", - "requested": "[3.0.124, )", - "resolved": "3.0.124", - "contentHash": "QTZhSNm/xjj24W1yterf6eABv6KO+Y9jBqpau5RzPehdXTXkZcGQaLf/i50nTl+qnSwpbKkrC+bSyvLRE1ZNAg==" + "requested": "[8.8.74, )", + "resolved": "8.8.74", + "contentHash": "e8RZNE0vZnuBk/gOAWu9K5wm3S7dOrOlZje3PHI9PJUHqvP1cxVJD1eXAAmddFVlixowB7C7/zvC16GnunC2LQ==" }, "Microsoft.NET.Test.Sdk": { "type": "Direct", diff --git a/tests/Speckle.Objects.Tests.Unit/Speckle.Objects.Tests.Unit.csproj b/tests/Speckle.Objects.Tests.Unit/Speckle.Objects.Tests.Unit.csproj index bbe796c3..a29b2820 100644 --- a/tests/Speckle.Objects.Tests.Unit/Speckle.Objects.Tests.Unit.csproj +++ b/tests/Speckle.Objects.Tests.Unit/Speckle.Objects.Tests.Unit.csproj @@ -7,7 +7,7 @@ - + diff --git a/tests/Speckle.Objects.Tests.Unit/packages.lock.json b/tests/Speckle.Objects.Tests.Unit/packages.lock.json index 3f189f8e..0b154ddd 100644 --- a/tests/Speckle.Objects.Tests.Unit/packages.lock.json +++ b/tests/Speckle.Objects.Tests.Unit/packages.lock.json @@ -2,11 +2,11 @@ "version": 2, "dependencies": { "net8.0": { - "JunitXml.TestLogger": { + "altcover": { "type": "Direct", - "requested": "[3.0.124, )", - "resolved": "3.0.124", - "contentHash": "QTZhSNm/xjj24W1yterf6eABv6KO+Y9jBqpau5RzPehdXTXkZcGQaLf/i50nTl+qnSwpbKkrC+bSyvLRE1ZNAg==" + "requested": "[8.8.74, )", + "resolved": "8.8.74", + "contentHash": "e8RZNE0vZnuBk/gOAWu9K5wm3S7dOrOlZje3PHI9PJUHqvP1cxVJD1eXAAmddFVlixowB7C7/zvC16GnunC2LQ==" }, "Microsoft.NET.Test.Sdk": { "type": "Direct",