Skip to content

Benchmark(SystemLinq) #26

Benchmark(SystemLinq)

Benchmark(SystemLinq) #26

Workflow file for this run

name: Benchmark
run-name: Benchmark(${{ inputs.configKey }})
on:
workflow_dispatch:
inputs:
configKey:
type: choice
description: Specify benchmark config key
default: Default
options:
- Default
- TargetFrameworks
- SystemLinq
filter:
type: string
description: Specify benchmark filter text
default: '*'
verbose:
type: boolean
description: Set `true` to output BenchmarkDotNet logs to console.
default: false
jobs:
benchmark:
runs-on: ubuntu-latest
timeout-minutes: 360 # Default: 360 minutes
strategy:
fail-fast: true
steps:
- uses: Cysharp/Actions/.github/actions/checkout@main
- uses: Cysharp/Actions/.github/actions/setup-dotnet@main
- run: dotnet build -c Release
- name: Run Benchmarks
working-directory: sandbox/Benchmark
run: |
mkdir BenchmarkDotNet.Artifacts
dotnet run -c Release --framework net9.0 --no-build --no-launch-profile -- --filter "${{ github.event.inputs.filter }}" -- ${{ github.event.inputs.configKey }} | tee BenchmarkDotNet.Artifacts/console.log
- name: Upload artifacts
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 #v4.6.1
with:
name: BenchmarkDotNet.Artifacts
path: sandbox/Benchmark/BenchmarkDotNet.Artifacts/
if-no-files-found: error
- name: Output results to JobSummary
working-directory: sandbox/Benchmark
shell: pwsh
run: |
$items = Get-ChildItem "BenchmarkDotNet.Artifacts/results/*.md"
foreach($item in $items) {
Write-Output ('## {0}' -f $item.Name) >> $env:GITHUB_STEP_SUMMARY
Write-Output (Get-Content $item.FullName -Raw) >> $env:GITHUB_STEP_SUMMARY
}