From 9c9b66daa3749e637925e7fdb482eaa97c2e24e8 Mon Sep 17 00:00:00 2001 From: Magnus Persson <1431685+magnusp@users.noreply.github.com> Date: Fri, 23 Oct 2026 01:28:46 +0200 Subject: [PATCH] ci(conformance): run the xerial control profile as a reference probe (#117) Run the pinned sqlite-jdbc control run on main and on pull requests in its own job, so a vendored divergence that is not true for xerial itself is visible. Guard the module so conformance.control.driver can only be set by the xerial-control profile. --- .github/workflows/ci.yml | 20 ++++++++++++++++++++ .github/workflows/pr.yml | 20 ++++++++++++++++++++ libsql-conformance/pom.xml | 31 +++++++++++++++++++++++++++++++ 3 files changed, 71 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6e5280c..57d0623 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -40,3 +40,23 @@ jobs: - name: Run Tests and Verifications run: mvn --batch-mode clean verify + + xerial-control: + # Reference probe, not a parity gate: the same vendored tests run against the pinned + # xerial driver. A failure means the vendored test is not a valid reference or the + # driver diverges without a recorded reason, not that libSQL must match xerial. + name: Xerial Control (reference probe) + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v7 + + - name: Set up Amazon Corretto 25 + uses: actions/setup-java@v5 + with: + distribution: 'corretto' + java-version: '25' + cache: 'maven' + + - name: Run the xerial control profile + run: mvn --batch-mode -pl libsql-conformance -am -Pxerial-control verify diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 2d22618..c9d101a 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -40,3 +40,23 @@ jobs: - name: Run Tests and Verifications run: mvn --batch-mode clean verify + + xerial-control: + # Reference probe, not a parity gate: the same vendored tests run against the pinned + # xerial driver. A failure means the vendored test is not a valid reference or the + # driver diverges without a recorded reason, not that libSQL must match xerial. + name: Xerial Control (reference probe) + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v7 + + - name: Set up Amazon Corretto 25 + uses: actions/setup-java@v5 + with: + distribution: 'corretto' + java-version: '25' + cache: 'maven' + + - name: Run the xerial control profile + run: mvn --batch-mode -pl libsql-conformance -am -Pxerial-control verify diff --git a/libsql-conformance/pom.xml b/libsql-conformance/pom.xml index 9389524..21f9525 100644 --- a/libsql-conformance/pom.xml +++ b/libsql-conformance/pom.xml @@ -16,6 +16,10 @@ ${project.build.directory}/docker-config 3.53.4.0 + + false @@ -82,6 +86,30 @@ maven-antrun-plugin 3.2.0 + + guard-control-driver + generate-test-sources + + run + + + + + + + + + + + + + + + verify-vendored-upstream generate-test-sources @@ -164,6 +192,9 @@ --> xerial-control + + true + org.xerial