From 7b3b0da46dc207e3bfd0d009a819f98b49f5ef52 Mon Sep 17 00:00:00 2001 From: ShimonSte Date: Thu, 11 Jun 2026 17:35:37 +0300 Subject: [PATCH] Trigger Tableau TDVT in connectors on snapshot publish and release Tableau users install the latest JDBC driver manually (no connector release cycle as a buffer), so driver regressions hit them immediately - 0.9.7 and 0.9.8 both broke Tableau connections. Each publish now fires a repository_dispatch (jdbc-snapshot / jdbc-release) into ClickHouse/connectors, where the tableau-tdvt workflow runs the TDVT suite against the published version and opens an issue on failure. The snapshot version is derived from the pom property because CHC_VERSION is commented out in nightly.yml. Both steps are continue-on-error so a dispatch failure can never fail a publish. Requires the CONNECTORS_DISPATCH_TOKEN secret (fine-grained PAT scoped to ClickHouse/connectors). Refs ClickHouse/connectors#71 (CON-264). Co-Authored-By: Claude Fable 5 --- .github/workflows/nightly.yml | 17 +++++++++++++++++ .github/workflows/release.yml | 14 ++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 1846891dd..d416b2b3e 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -84,3 +84,20 @@ jobs: gpg_passphrase: ${{ secrets.GPG_PASSPHRASE }} nexus_username: ${{ secrets.SONATYPE_TOKEN_USER }} nexus_password: ${{ secrets.SONATYPE_TOKEN }} + # Tableau users install the latest JDBC driver manually, so a snapshot + # regression hits them with no connector release in between - trigger the + # TDVT suite in ClickHouse/connectors on every published snapshot. + # https://github.com/ClickHouse/connectors/issues/71 + - name: Trigger Tableau TDVT in connectors + if: success() + continue-on-error: true # a TDVT dispatch failure must never fail the publish + env: + GH_TOKEN: ${{ secrets.CONNECTORS_DISPATCH_TOKEN }} + run: | + # The published snapshot version is the pom's property + # (env.CHC_VERSION is commented out above, so it can't be used here) + VERSION=$(sed -n 's|.*\(.*\).*|\1|p' pom.xml | head -1) + echo "Dispatching TDVT for clickhouse-jdbc $VERSION" + gh api repos/ClickHouse/connectors/dispatches \ + -f event_type=jdbc-snapshot \ + -F "client_payload[jdbc_version]=$VERSION" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 022d27155..9da502ed2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -88,3 +88,17 @@ jobs: clickhouse-r2dbc/target/clickhouse*.jar client-v2/target/client-v2*.jar jdbc-v2/target/jdbc-v2*.jar + # Tableau users install the latest JDBC driver manually, so a release + # regression hits them with no connector release in between - trigger the + # TDVT suite in ClickHouse/connectors on every release. + # https://github.com/ClickHouse/connectors/issues/71 + - name: Trigger Tableau TDVT in connectors + if: success() + continue-on-error: true # a TDVT dispatch failure must never fail the release + env: + GH_TOKEN: ${{ secrets.CONNECTORS_DISPATCH_TOKEN }} + run: | + echo "Dispatching TDVT for clickhouse-jdbc ${{ github.event.inputs.version }}" + gh api repos/ClickHouse/connectors/dispatches \ + -f event_type=jdbc-release \ + -F "client_payload[jdbc_version]=${{ github.event.inputs.version }}"