Skip to content

Fix VP verification for holder-less and credential-less presentations (#11) #3

Fix VP verification for holder-less and credential-less presentations (#11)

Fix VP verification for holder-less and credential-less presentations (#11) #3

Workflow file for this run

name: Conformance
# Runs the W3C VCDM 2.0 interoperability test suite against the ASP.NET shim. Heavier than CI (clones
# + installs the Node suite), so it runs on PRs that touch the engine, nightly, and on demand — not in
# the main build matrix.
on:
pull_request:
branches: [main]
# Only when the engine / its tests / this workflow change — a docs-only PR shouldn't clone the
# Node suite and run the ~8-minute conformance suite.
paths:
- 'src/**'
- 'tests/**'
- '.github/workflows/conformance.yml'
schedule:
- cron: '0 6 * * *'
workflow_dispatch:
concurrency:
group: conformance-${{ github.ref }}
cancel-in-progress: true
jobs:
w3c-vcdm2:
name: W3C VCDM 2.0 suite
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4
with:
global-json-file: global.json
- uses: actions/setup-node@v4
with:
node-version: '20'
# Cloned unpinned from HEAD (pinning a SHA would need manual bumps). A breaking upstream change
# could surface as a nightly failure that looks like a regression — check the suite's recent
# history before treating a sudden nightly drop as an engine regression.
- name: Prepare the W3C VCDM 2.0 test suite
run: |
git clone --depth 1 https://github.com/w3c/vc-data-model-2.0-test-suite "$RUNNER_TEMP/vcdm2-suite"
cd "$RUNNER_TEMP/vcdm2-suite"
npm install --no-audit --no-fund
- name: Build the shim + harness
run: dotnet build tests/Credentials.Conformance.Tests/Credentials.Conformance.Tests.csproj -c Release
# The harness boots the shim on loopback, writes localConfig.cjs, runs the suite, and asserts the
# passing count stays at/above the recorded baseline. It SKIPS (not fails) if the suite is absent.
- name: Run conformance suite
env:
VCDM2_SUITE_DIR: ${{ runner.temp }}/vcdm2-suite
run: dotnet test tests/Credentials.Conformance.Tests/Credentials.Conformance.Tests.csproj -c Release --no-build --filter "Category=Conformance" --logger "console;verbosity=detailed"