M8c: conformance + interop (the M8 finale) #1
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: 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] | |
| 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' | |
| - 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" |