Files
Marc Schier 9bfc780e14 Update NuGet dependencies and migrate tests to NUnit 5 (#4840)
# Description

Update 55 NuGet dependencies to the latest stable releases available on
2026-10-19, preserving documented compatibility pins and
framework-specific version bands. Existing OpenUSD prereleases remain
unchanged because no newer releases are available.

Migrate existing tests to NUnit 5: await asynchronous assertions,
propagate async through helpers, handle nullable predicates, and replace
obsolete `Order` attributes with sequencing dependencies. Sequencing
dependencies use `AllowFailure = true`; filtering a dependent test also
runs prerequisites. Adjust fixture-level parallelism where NUnit
dependency scheduling requires it.

Keep Roslyn API/runtime pins intact; select newer Immutable/Metadata
runtime packages only for test and profiling hosts requiring them.
Update the approved SDK pin to 10.0.402 across local, CI, and container
builds. Document NUnit 5 conventions.
2026-10-19 15:23:29 +00:00

65 lines
1.7 KiB
YAML

name: MCP Agent Usability
on:
push:
branches: [ master, main, develop/* ]
paths:
- '.github/workflows/mcpgrade.yml'
- '.mcpgraderc.json'
- 'Directory.Packages.props'
- 'tools/Opc.Ua.Mcp/**'
- 'tools/Opc.Ua.Mcp.*/**'
pull_request:
branches: [ master, main, develop/* ]
paths:
- '.github/workflows/mcpgrade.yml'
- '.mcpgraderc.json'
- 'Directory.Packages.props'
- 'tools/Opc.Ua.Mcp/**'
- 'tools/Opc.Ua.Mcp.*/**'
workflow_dispatch:
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
grade:
name: Static and probe grading
runs-on: windows-latest
steps:
- uses: actions/checkout@v7
with:
fetch-depth: 0
- name: Setup .NET 10
uses: actions/setup-dotnet@v6
with:
dotnet-version: '10.0.402'
- name: Setup Node.js
uses: actions/setup-node@v7
with:
node-version: '22'
- name: Grade MCP catalogs
shell: pwsh
run: >
./tools/Opc.Ua.Mcp/Test-McpGrade.ps1
-ResultsDirectory '${{ runner.temp }}/mcpgrade-results'
-IncludePrivilegedCatalogues
-AdditionalProfiles @('wot', 'xregistry', 'wot-documents', 'wot,xregistry,wot-documents',
'gds', 'certificates', 'credentials', 'onboarding', 'roles', 'users', 'files', 'alarms',
'history', 'schemas', 'pubsub-runtime', 'pubsub-configuration', 'pubsub-bridge',
'pubsub-security', 'wot-runtime')
- name: Upload grading reports
if: ${{ always() }}
uses: actions/upload-artifact@v7
with:
name: mcpgrade-results
path: ${{ runner.temp }}/mcpgrade-results