Skip to content

[perf-improver] perf: reduce allocations in RandomSamplingAmortizedFacets.GetAllDims #872

[perf-improver] perf: reduce allocations in RandomSamplingAmortizedFacets.GetAllDims

[perf-improver] perf: reduce allocations in RandomSamplingAmortizedFacets.GetAllDims #872

Workflow file for this run

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/*.*