Repository navigation
Read MongoDB member endpoints and expect server-ordered link payloads #224
This file contains hidden or 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: Build and Tests | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| jobs: | |
| build-and-test: | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 180 | |
| steps: | |
| - name: Download source code | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - name: Set up .NET | |
| uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0 | |
| with: | |
| global-json-file: global.json | |
| - name: Check repository and website source inventory | |
| run: | | |
| node scripts/Features/RepositoryGovernance/verify.mjs | |
| node scripts/Features/BenchmarkComparisons/session-source-closure.mjs --verify=scripts/Features/BenchmarkComparisons/site-isolated-dependencies.txt | |
| - name: Build | |
| run: dotnet build KeyLoad.slnx -warnaserror | |
| - name: Install administration browser | |
| shell: pwsh | |
| run: tests/KeyLoad.IntegrationTests/bin/Debug/net10.0/playwright.ps1 install --with-deps chromium | |
| - name: Test code analyzers | |
| run: dotnet test --project tests/KeyLoad.Analyzers.Tests/KeyLoad.Analyzers.Tests.csproj --no-build --output Detailed --report-trx --results-directory "$GITHUB_WORKSPACE/TestResults/analyzers" | |
| - name: Test units | |
| if: ${{ !cancelled() }} | |
| run: dotnet test --project tests/KeyLoad.UnitTests/KeyLoad.UnitTests.csproj --no-build --output Detailed --maximum-parallel-tests "$(nproc)" --report-trx --results-directory "$GITHUB_WORKSPACE/TestResults/units" | |
| - name: Test process recovery | |
| if: ${{ !cancelled() }} | |
| run: dotnet test --project tests/KeyLoad.RecoveryTests/KeyLoad.RecoveryTests.csproj --no-build --output Detailed --report-trx --results-directory "$GITHUB_WORKSPACE/TestResults/recovery" | |
| - name: Test Aspire topology | |
| if: ${{ !cancelled() }} | |
| run: dotnet test --project tests/KeyLoad.IntegrationTests/KeyLoad.IntegrationTests.csproj --no-build --output Detailed --treenode-filter '/*/*/*/*[Category!=HeavyLoad]' --timeout 100m --report-trx --results-directory "$GITHUB_WORKSPACE/TestResults/integration" | |
| - name: Save test results | |
| if: ${{ always() }} | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 | |
| with: | |
| name: build-and-tests-results | |
| path: TestResults/** | |
| if-no-files-found: warn | |
| retention-days: 30 |