[perf-improver] perf: reduce allocations in RandomSamplingAmortizedFacets.GetAllDims #872
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: Examine Build | |
| on: | |
| workflow_dispatch: | |
| push: | |
| branches: | |
| - 'master' | |
| - 'dev' | |
| - 'release/*' | |
| - 'support/*' | |
| - 'hotfix/*' | |
| tags: | |
| - 'v*' | |
| pull_request: | |
| branches: | |
| - 'master' | |
| - 'dev' | |
| - 'release/*' | |
| - 'support/*' | |
| - 'hotfix/*' | |
| jobs: | |
| test-matrix: | |
| runs-on: ubuntu-latest | |
| env: | |
| Test_Proj: src/Examine.Test/Examine.Test.csproj | |
| Configuration: Release | |
| strategy: | |
| matrix: | |
| include: | |
| - dotnet-version: '8.0.x' | |
| tfm: 'net8.0' | |
| - dotnet-version: '9.0.x' | |
| tfm: 'net9.0' | |
| - dotnet-version: '10.0.x' | |
| tfm: 'net10.0' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup .NET SDK ${{ matrix.dotnet-version }} | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: ${{ matrix.dotnet-version }} | |
| - name: Build Tests for TFM ${{ matrix.tfm }} | |
| run: | | |
| dotnet build \ | |
| "${{ env.Test_Proj }}" \ | |
| --configuration ${{ env.Configuration }} \ | |
| --framework ${{ matrix.tfm }} | |
| - name: Run Tests for TFM ${{ matrix.tfm }} | |
| run: | | |
| dotnet test \ | |
| "${{ env.Test_Proj }}" \ | |
| --configuration ${{ env.Configuration }} \ | |
| --verbosity normal \ | |
| --framework ${{ matrix.tfm }} \ | |
| --no-build \ | |
| --results-directory "${{ github.workspace }}/_TestResults/${{ matrix.tfm }}" \ | |
| --logger "trx;logfilename=tests.trx" \ | |
| --filter "TestCategory!~Benchmarks" | |
| - name: Upload Test Results Artifact | |
| uses: actions/upload-artifact@v4 | |
| if: always() # Upload results even if the test run fails | |
| with: | |
| name: test-results-${{ matrix.tfm }} | |
| path: ${{ github.workspace }}/_TestResults/${{ matrix.tfm }}/tests.trx | |
| - name: Test Report | |
| uses: dorny/test-reporter@v2 | |
| if: ${{ !cancelled() }} # run this step even if previous step failed | |
| with: | |
| name: Publish Tests | |
| path: ${{ github.workspace }}/_TestResults/**/*.trx | |
| reporter: dotnet-trx | |
| build: | |
| needs: test-matrix | |
| runs-on: ubuntu-latest | |
| env: | |
| Solution_File: src/Examine.sln | |
| Configuration: Release | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Create copyright value | |
| run: | | |
| $Copyright = "Copyright " + [char]0x00A9 + " Shannon Deminick " + (Get-Date).year | |
| echo ("Copyright=" + $Copyright) >> $Env:GITHUB_ENV | |
| shell: pwsh | |
| - name: Setup dotnet | |
| uses: actions/setup-dotnet@v3 | |
| with: | |
| dotnet-version: ${{ matrix.dotnet-version }} | |
| - name: Install GitVersion | |
| uses: gittools/actions/gitversion/setup@v4.2.0 | |
| with: | |
| versionSpec: '6.4.x' | |
| preferLatestVersion: true | |
| - name: Determine Version | |
| uses: gittools/actions/gitversion/execute@v4.2.0 | |
| - run: | | |
| echo "FullSemVer (env.GitVersion_FullSemVer) : ${{ env.GitVersion_FullSemVer }}" | |
| name: Display GitVersion variables (with prefix) | |
| - name: Pack | |
| # This will do a full ebuild | |
| run: | | |
| dotnet pack ${{ env.Solution_File }} \ | |
| --configuration ${{ env.Configuration }} \ | |
| -p:PackageVersion=${{ env.GitVersion_SemVer }} \ | |
| -p:AssemblyVersion=${{ env.GitVersion_AssemblySemVer }} \ | |
| -p:FileVersion=${{ env.GitVersion_AssemblySemFileVer }} \ | |
| -p:InformationalVersion=${{ env.GitVersion_InformationalVersion }} \ | |
| -p:ContinuousIntegrationBuild=true \ | |
| -p:Copyright="${{ env.Copyright }}" \ | |
| --output=${{ github.workspace }}/_NugetOutput | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v4 # upload nuget | |
| if: success() | |
| with: | |
| name: examine-nuget-${{ env.GitVersion_SemVer }} | |
| path: ${{ github.workspace }}/_NugetOutput/*.* |