From 47cc50c1ee9fd755162d71ee09022c10cb834898 Mon Sep 17 00:00:00 2001 From: Rana Date: Thu, 30 Jul 2026 16:38:58 +0300 Subject: [PATCH] ci: run the cross-SDK conformance corpus on every PR Adds a conformance job that checks out the pinned conformance suite and runs the Python runner (STC_ONLY=python) against the golden corpus, reding any PR that drifts this SDK's decisions. Needs Node (the orchestrator) and uv (the runner), and the CONFORMANCE_REPO_TOKEN secret (read access to the private conformance repo). --- .github/workflows/ci.yml | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fd4ab98..15262c9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -45,3 +45,42 @@ jobs: - name: Build package run: uv run python -m build + + conformance: + runs-on: ubuntu-latest + + steps: + - name: Check out SDK (the PR) + uses: actions/checkout@v4 + + - name: Check out conformance suite (pinned) + uses: actions/checkout@v4 + with: + repository: getsupertab/connect-sdk-conformance + ref: v0.3.0 + token: ${{ secrets.CONFORMANCE_REPO_TOKEN }} + path: _conformance + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: 22 + + - name: Set up uv + uses: astral-sh/setup-uv@v5 + with: + enable-cache: true + + - name: Install SDK dependencies + run: uv sync --locked + + - name: Install conformance dependencies + run: npm ci + working-directory: _conformance + + - name: Run conformance corpus (Python runner) + run: npm run conformance + working-directory: _conformance + env: + STC_PY_RUNNER_CWD: ${{ github.workspace }} + STC_ONLY: python