Skip to content

chore(deps): update dependency meziantou.analyzer to 3.0.74 #827

chore(deps): update dependency meziantou.analyzer to 3.0.74

chore(deps): update dependency meziantou.analyzer to 3.0.74 #827

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
workflow_dispatch:
permissions:
contents: read
jobs:
build-test:
strategy:
fail-fast: false
matrix:
os:
[
windows-11-arm,
ubuntu-24.04-arm,
ubuntu-latest,
windows-latest,
macos-latest,
]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Setup .NET
uses: actions/setup-dotnet@c2fa09f4bde5ebb9d1777cf28262a3eb3db3ced7 # v5
with:
dotnet-version: "10.0.x"
global-json-file: global.json
- name: Restore
shell: pwsh
run: dotnet restore
- name: Build
shell: pwsh
run: dotnet build --configuration Release --no-restore /warnaserror
- name: Test
shell: pwsh
run: dotnet test --configuration Release --no-build --logger 'trx;LogFileName=test-results.trx' --collect 'Xplat Code Coverage'
- name: Upload Test Artifacts
if: always()
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: test-artifacts-${{ matrix.os }}-${{ runner.arch }}
path: |
**/TestResults/*.trx
**/coverage.cobertura.xml
- name: Run Benchmarks (all suites for gate)
shell: pwsh
run: |
$os = "${{ matrix.os }}"
$arch = "${{ runner.arch }}"
dotnet run -c Release --project tests/Benchmarks/Benchmarks.csproj --filter "*" --artifacts "BenchmarkDotNet.Artifacts"
$json = Get-ChildItem -Path BenchmarkDotNet.Artifacts/results -Filter "Benchmarks.CacheBenchmarks-report.json" | Select-Object -First 1
if (-not $json) { Write-Error 'CacheBenchmarks full JSON not found'; exit 1; }
$out = "BenchmarkDotNet.Artifacts/results/current.$os.$arch.json"
Copy-Item $json.FullName $out
$contJson = Get-ChildItem -Path BenchmarkDotNet.Artifacts/results -Filter "Benchmarks.ContentionBenchmarks-report.json" | Select-Object -First 1
if ($contJson) { Copy-Item $contJson.FullName "BenchmarkDotNet.Artifacts/results/current-contention.$os.$arch.json" }
- name: Bench Gate Compare (CacheBenchmarks)
if: $${{ false }}

Check warning on line 72 in .github/workflows/ci.yml

View workflow run for this annotation

GitHub Actions / CI

Workflow syntax warning

.github/workflows/ci.yml (Line: 72, Col: 13): Conditional expression contains literal text outside replacement tokens. This will cause the expression to always evaluate to truthy. Did you mean to put the entire expression inside ${{ }}?
continue-on-error: true
shell: pwsh
run: |
$os = "${{ matrix.os }}"
$arch = "${{ runner.arch }}"
$baseline = "benchmarks/baseline/current.$os.$arch.json"
$current = "BenchmarkDotNet.Artifacts/results/current.$os.$arch.json"
if (Test-Path $baseline) {
dotnet run -c Release --project tools/BenchGate/BenchGate.csproj -- $baseline $current --suite=CacheBenchmarks
} else { Write-Host "Baseline $baseline missing; skipping." }
- name: Bench Gate Compare (ContentionBenchmarks)
if: $${{ false }}

Check warning on line 85 in .github/workflows/ci.yml

View workflow run for this annotation

GitHub Actions / CI

Workflow syntax warning

.github/workflows/ci.yml (Line: 85, Col: 13): Conditional expression contains literal text outside replacement tokens. This will cause the expression to always evaluate to truthy. Did you mean to put the entire expression inside ${{ }}?
continue-on-error: true
shell: pwsh
run: |
$os = "${{ matrix.os }}"
$arch = "${{ runner.arch }}"
$baseline = "benchmarks/baseline/current-contention.$os.$arch.json"
$current = "BenchmarkDotNet.Artifacts/results/current-contention.$os.$arch.json"
if (Test-Path $current) {
if (Test-Path $baseline) {
dotnet run -c Release --project tools/BenchGate/BenchGate.csproj -- $baseline $current --suite=ContentionBenchmarks
} else { Write-Host "Baseline $baseline missing; skipping contention gate." }
} else { Write-Host 'No contention suite JSON produced; skipping.' }
- name: Upload Benchmark Artifacts
if: always()
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: benchmark-artifacts-${{ matrix.os }}-${{ runner.arch }}
path: |
BenchmarkDotNet.Artifacts/results/*.md
BenchmarkDotNet.Artifacts/results/*.html
BenchmarkDotNet.Artifacts/results/*.json
benchmarks/baseline/*.json