Benchmark(SystemLinq) #26
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: 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 | |
} |