From b922358a822ff1e60cfa6467ee72adde8f7b253b Mon Sep 17 00:00:00 2001 From: Doug Fennell Date: Sun, 19 Oct 2025 15:33:40 -0500 Subject: [PATCH 1/3] conformance(action): expose totals and pass-rate as outputs --- .github/actions/rdcp-conformance/action.yml | 37 +++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/.github/actions/rdcp-conformance/action.yml b/.github/actions/rdcp-conformance/action.yml index 2009e7a..451fb17 100644 --- a/.github/actions/rdcp-conformance/action.yml +++ b/.github/actions/rdcp-conformance/action.yml @@ -15,6 +15,23 @@ inputs: required: false default: reports/rdcp.discovery.json +outputs: + tests-passed: + description: Number of tests passed + value: ${{ steps.set.outputs.tests_passed }} + tests-total: + description: Number of tests + value: ${{ steps.set.outputs.tests_total }} + pass-rate: + description: Pass rate percent (rounded) + value: ${{ steps.set.outputs.pass_rate }} + suites-passed: + description: Number of suites passed + value: ${{ steps.set.outputs.suites_passed }} + suites-total: + description: Number of suites + value: ${{ steps.set.outputs.suites_total }} + runs: using: composite steps: @@ -45,6 +62,26 @@ runs: shell: bash run: | node scripts/conformance-badges.mjs || echo 'Badge generation skipped' + - name: Set outputs from results + id: set + shell: bash + run: | + node -e " + const fs=require('fs'); + let r={summary:{}}; + try{ r=JSON.parse(fs.readFileSync('reports/rdcp.results.json','utf8')); }catch(e){} + const s=r.summary||{}; + const p=Number(s.passed||0); + const t=Number(s.total||0); + const sp=Number(s.suitesPassed||0); + const st=Number(s.suitesTotal||0); + const rate=t?Math.round((p/t)*100):0; + console.log('tests_passed='+p); + console.log('tests_total='+t); + console.log('pass_rate='+rate); + console.log('suites_passed='+sp); + console.log('suites_total='+st); + " >> "$GITHUB_OUTPUT" - name: Upload conformance reports uses: actions/upload-artifact@v4 with: From 1ae22b5bb7609427be2f1c5ff21c207bb2cb4444 Mon Sep 17 00:00:00 2001 From: Doug Fennell Date: Sun, 19 Oct 2025 17:04:19 -0500 Subject: [PATCH 2/3] docs(conformance): update wiki submodule pointer (Home + Sidebar) --- .wiki-edit | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.wiki-edit b/.wiki-edit index 99b0ff2..94d69e4 160000 --- a/.wiki-edit +++ b/.wiki-edit @@ -1 +1 @@ -Subproject commit 99b0ff2e056aec07aa893bc55ee220ee1b409b29 +Subproject commit 94d69e4f2fde4726076db99afc879dbd97083152 From 0579a9d1b9552063b705ca4267a2de96d34e9a99 Mon Sep 17 00:00:00 2001 From: Doug Fennell Date: Sun, 19 Oct 2025 17:44:33 -0500 Subject: [PATCH 3/3] chore(ci): update package-lock.json after adding @rdcp.dev/conformance workspace --- package-lock.json | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index e8bdc70..afad2f7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,7 +26,9 @@ "zod": "^3.24.2" }, "bin": { - "rdcp-conformance": "scripts/rdcp-conformance.mjs" + "rdcp-conformance": "scripts/rdcp-conformance.mjs", + "rdcp-conformance-badges": "scripts/conformance-badges.mjs", + "rdcp-conformance-junit": "scripts/conformance-junit.mjs" }, "devDependencies": { "@rdcp.dev/client": "file:packages/rdcp-client", @@ -7858,7 +7860,7 @@ }, "packages/otel-plugin": { "name": "@rdcp.dev/otel-plugin", - "version": "1.0.1", + "version": "1.1.0", "license": "Apache-2.0", "devDependencies": { "@types/jest": "^29.5.0", @@ -7876,7 +7878,7 @@ }, "peerDependencies": { "@opentelemetry/api": "^1.9.0", - "@rdcp.dev/server": "^2.2.0" + "@rdcp.dev/server": "^2.3.1" }, "peerDependenciesMeta": { "@opentelemetry/api": { @@ -12349,13 +12351,13 @@ "version": "1.1.0", "license": "Apache-2.0", "dependencies": { - "@rdcp.dev/core": "^1.0.0", + "@rdcp.dev/core": "^1.1.0", "zod": "^3.24.2" } }, "packages/rdcp-core": { "name": "@rdcp.dev/core", - "version": "1.0.2", + "version": "1.1.0", "license": "Apache-2.0", "dependencies": { "zod": "^3.24.2"