From 0a999795cc8bfc2a4772c1f64230ba62cb21761e Mon Sep 17 00:00:00 2001 From: Paul Nothaft <53005142+the-luap@users.noreply.github.com> Date: Sun, 16 Aug 2026 19:17:17 +0200 Subject: [PATCH] ci(tests): run the gated real-Postgres .picpeak cases in the backend job (#1058) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Stable backport of #1056 (main: 18b1e0f6). Change content is byte-identical to the main twin. The .picpeak restore suites gate their Postgres cases behind PICPEAK_PG_TEST_URL and describe.skip themselves out when it is unset. The variable is set in no workflow, so those cases have never run in CI. On this branch the effect lands together with the #1041 backport, which brings picpeakCrossEngine.test.js and its three real-Postgres stored-value cases — stable has no picpeakRestorePg.test.js, so before that PR this wires up a service nothing reads yet. Merging it first keeps the two twins mirroring their main counterparts one-for-one instead of folding both into one PR. Co-authored-by: Paul Nothaft --- .github/workflows/tests.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index fd83a548..6f47727d 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -30,6 +30,29 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 10 + # The .picpeak restore suites gate their real-Postgres cases behind + # PICPEAK_PG_TEST_URL and `describe.skip` themselves out when it is + # unset — so until now they never ran here. That hid the half that + # matters: sequence resync, operator/role preservation across a + # cross-instance restore, and (with #1041) whether a SQLite-shaped + # row actually lands in Postgres with the right STORED VALUES rather + # than merely not throwing. Everything else in the suite still runs + # on SQLite; this service only un-gates those cases. + services: + postgres: + image: postgres:15-alpine + env: + POSTGRES_USER: picpeak + POSTGRES_PASSWORD: testpass + POSTGRES_DB: picpeak_test + options: >- + --health-cmd "pg_isready -U picpeak -d picpeak_test" + --health-interval 2s + --health-timeout 2s + --health-retries 30 + ports: + - 5432:5432 + steps: - name: Checkout code uses: actions/checkout@v4 @@ -52,6 +75,9 @@ jobs: # The S3 path itself is covered separately by the integration # suite when MinIO is provisioned. SKIP_S3_TESTS: 'true' + # Un-gates the real-Postgres cases in the .picpeak restore suites + # (see the `services:` note above). Absent it they silently skip. + PICPEAK_PG_TEST_URL: 'postgres://picpeak:testpass@127.0.0.1:5432/picpeak_test' run: | # Excluded suites — fail on upstream/beta too, tracked # separately as test-infra debt: