Bump the analyzers group with 3 updates #549
Workflow file for this run
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: Rhino Tests | |
| on: | |
| push: | |
| branches: [main] | |
| paths: | |
| - 'libs/rhino/**' | |
| - 'test/rhino/**' | |
| - '.github/workflows/rhino-tests.yml' | |
| pull_request: | |
| branches: [main] | |
| paths: | |
| - 'libs/rhino/**' | |
| - 'test/rhino/**' | |
| - '.github/workflows/rhino-tests.yml' | |
| workflow_dispatch: | |
| inputs: | |
| enable_diagnostics: | |
| description: 'Enable CoreCLR trace logging for debugging' | |
| type: boolean | |
| default: false | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| test-rhino: | |
| name: Rhino Headless Tests | |
| runs-on: windows-latest | |
| timeout-minutes: 20 | |
| permissions: | |
| contents: read | |
| checks: write | |
| env: | |
| RHINO_TOKEN: ${{ secrets.RHINO_TOKEN }} | |
| RHINO_EMAIL: ${{ secrets.RHINO_EMAIL }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Setup .NET 8 | |
| uses: actions/setup-dotnet@v4 | |
| with: | |
| dotnet-version: '8.0.x' | |
| - name: Install Rhino | |
| uses: mcneel/setup-rhino3d@v2 | |
| with: | |
| email-address: ${{ secrets.RHINO_EMAIL }} | |
| release-version: latest | |
| - name: Capture Rhino Version | |
| shell: pwsh | |
| run: | | |
| $exe = 'C:\Program Files\Rhino 8\System\Rhino.exe' | |
| $dll = 'C:\Program Files\Rhino 8\System\RhinoCommon.dll' | |
| if (Test-Path $exe) { | |
| $ver = (Get-Item $exe).VersionInfo.ProductVersion | |
| Write-Host "Rhino.exe version: $ver" | |
| } | |
| if (Test-Path $dll) { | |
| $dllVer = (Get-Item $dll).VersionInfo.ProductVersion | |
| Write-Host "RhinoCommon.dll version: $dllVer" | |
| } | |
| - name: Restore Dependencies | |
| run: dotnet restore test/rhino/Arsenal.Rhino.Tests.csproj | |
| - name: Build Rhino Tests | |
| run: dotnet build test/rhino/Arsenal.Rhino.Tests.csproj --configuration Release --no-restore | |
| - name: Run Rhino Tests | |
| env: | |
| COREHOST_TRACE: ${{ inputs.enable_diagnostics && '1' || '0' }} | |
| COREHOST_TRACEFILE: ${{ inputs.enable_diagnostics && 'D:\a\corehost_trace.log' || '' }} | |
| shell: pwsh | |
| run: | | |
| $diagArgs = @() | |
| if ('${{ inputs.enable_diagnostics }}' -eq 'true') { | |
| $diagArgs += '--diag:D:\a\vstest_diag.log' | |
| } | |
| dotnet test test/rhino/Arsenal.Rhino.Tests.csproj ` | |
| --configuration Release ` | |
| --framework net8.0-windows ` | |
| --logger "trx;LogFileName=Arsenal.Rhino.Tests.trx" ` | |
| --settings test/rhino/.runsettings ` | |
| @diagArgs | |
| if ('${{ inputs.enable_diagnostics }}' -eq 'true') { | |
| if (Test-Path D:\a\corehost_trace.log) { Get-Content D:\a\corehost_trace.log -Tail 200 } | |
| if (Test-Path D:\a\vstest_diag.log) { Get-Content D:\a\vstest_diag.log -Tail 100 } | |
| } | |
| - name: Publish Test Results | |
| if: always() | |
| uses: dorny/test-reporter@v2 | |
| with: | |
| name: 'Rhino Tests' | |
| path: '**/TestResults/**/*.trx' | |
| reporter: 'dotnet-trx' | |
| fail-on-error: true | |
| - name: Upload Test Results | |
| if: always() | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| name: rhino-test-results | |
| path: | | |
| **/TestResults/**/*.trx | |
| **/TestResults/**/*.xml | |
| retention-days: 7 | |
| - name: Upload Diagnostic Logs | |
| if: inputs.enable_diagnostics && always() | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| name: diagnostic-logs | |
| path: | | |
| D:\a\corehost_trace.log | |
| D:\a\vstest_diag.log | |
| retention-days: 7 | |
| - name: Generate Summary | |
| if: always() | |
| shell: pwsh | |
| run: | | |
| $status = if ('${{ job.status }}' -eq 'success') { '[PASS]' } else { '[FAIL]' } | |
| @" | |
| ## $status Rhino Headless Tests | |
| | Property | Value | | |
| |----------|-------| | |
| | Framework | NUnit 3.14.0 + Rhino.Testing v8.0.28-beta | | |
| | Target | .NET 8.0-windows | | |
| | Platform | Windows with RhinoCommon | | |
| | Diagnostics | ${{ inputs.enable_diagnostics || 'false' }} | | |
| "@ >> $env:GITHUB_STEP_SUMMARY |