diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml new file mode 100644 index 0000000..0a8b9d7 --- /dev/null +++ b/.github/workflows/build-and-test.yml @@ -0,0 +1,41 @@ +name: CI + +on: + pull_request: + +jobs: + build-and-test: + name: Build and Unit Tests (${{ matrix.os }}) + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, windows-latest] + env: + DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 + DOTNET_NOLOGO: 1 + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup .NET SDK + uses: actions/setup-dotnet@v4 + with: + dotnet-version: 8.0.x + cache: false + + - name: Restore + run: dotnet restore Couchbase.Analytics.sln + + - name: Build (Release) + run: dotnet build Couchbase.Analytics.sln --configuration Release --no-restore + + - name: Test - Couchbase.Analytics.UnitTests + run: dotnet test tests/Couchbase.Analytics.UnitTests/Couchbase.Analytics.UnitTests.csproj --configuration Release --no-build --logger "trx;LogFileName=unit-tests.trx" --results-directory "TestResults" + + - name: Upload Test Results + if: always() + uses: actions/upload-artifact@v4 + with: + name: unit-test-results-${{ matrix.os }} + path: TestResults diff --git a/Couchbase.Analytics.sln b/Couchbase.Analytics.sln index 592ad31..9c47b3d 100644 --- a/Couchbase.Analytics.sln +++ b/Couchbase.Analytics.sln @@ -7,16 +7,15 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{50354FD0-1B8 EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{98962587-231C-4D1F-AC3D-4C21302C331B}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Couchbase.Analytics", "Src\Couchbase.Analytics\Couchbase.Analytics.csproj", "{700EC51C-9F32-4C1A-826E-9252522E953F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Couchbase.Analytics", "src\Couchbase.Analytics\Couchbase.Analytics.csproj", "{700EC51C-9F32-4C1A-826E-9252522E953F}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Couchbase.Analytics.FunctionalTests", "Tests\Couchbase.Analytics.FunctionalTests\Couchbase.Analytics.FunctionalTests.csproj", "{3E0EE6AE-0579-4AFE-B4A1-14C6C72DF5F5}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Couchbase.Analytics.FunctionalTests", "tests\Couchbase.Analytics.FunctionalTests\Couchbase.Analytics.FunctionalTests.csproj", "{3E0EE6AE-0579-4AFE-B4A1-14C6C72DF5F5}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Couchbase.Analytics.UnitTests", "Tests\Couchbase.Analytics.UnitTests\Couchbase.Analytics.UnitTests.csproj", "{890378AD-7F74-4C86-923B-24DB7539574F}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Couchbase.Analytics.UnitTests", "tests\Couchbase.Analytics.UnitTests\Couchbase.Analytics.UnitTests.csproj", "{890378AD-7F74-4C86-923B-24DB7539574F}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{D7E5390F-CFF1-42D7-A36C-D8E4FBE38918}" ProjectSection(SolutionItems) = preProject Directory.Packages.props = Directory.Packages.props - .editorconfig = .editorconfig EndProjectSection EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Couchbase.Analytics.Performer", "fit\Couchbase.Analytics.Performer\Couchbase.Analytics.Performer.csproj", "{04159D2F-74A8-4200-818F-B279DBCBBC5A}" diff --git a/Directory.Packages.props b/Directory.Packages.props index 81cc86e..1627fbd 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -12,7 +12,6 @@ - diff --git a/.editorconfig b/src/Couchbase.Analytics/.editorconfig similarity index 100% rename from .editorconfig rename to src/Couchbase.Analytics/.editorconfig diff --git a/src/Couchbase.Analytics/Properties/AssemblyInfo.cs b/src/Couchbase.Analytics/Properties/AssemblyInfo.cs index e94da30..3dfd420 100644 --- a/src/Couchbase.Analytics/Properties/AssemblyInfo.cs +++ b/src/Couchbase.Analytics/Properties/AssemblyInfo.cs @@ -1,8 +1,8 @@ using System.Runtime.CompilerServices; -#if DEBUG +#if !SIGNING [assembly: InternalsVisibleTo("Couchbase.Analytics.UnitTests")] [assembly: InternalsVisibleTo("Couchbase.AnalyticsClient.FunctionalTests")] [assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")] -#endif -[assembly: InternalsVisibleTo("Couchbase.Analytics.Performer")] \ No newline at end of file + [assembly: InternalsVisibleTo("Couchbase.Analytics.Performer")] +#endif \ No newline at end of file