Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wfNIg-005Q4n-09 for pgsql-hackers@arkaria.postgresql.org; Thu, 02 Jul 2026 19:42:18 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wfNId-002rQi-2t for pgsql-hackers@arkaria.postgresql.org; Thu, 02 Jul 2026 19:42:15 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wfNId-002rQT-11 for pgsql-hackers@lists.postgresql.org; Thu, 02 Jul 2026 19:42:15 +0000 Received: from mail-yx1-xb12a.google.com ([2607:f8b0:4864:20::b12a]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wfNIZ-00000001FiJ-2X8e for pgsql-hackers@lists.postgresql.org; Thu, 02 Jul 2026 19:42:14 +0000 Received: by mail-yx1-xb12a.google.com with SMTP id 956f58d0204a3-664ae993e4bso1935820d50.0 for ; Thu, 02 Jul 2026 12:42:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1783021330; cv=none; d=google.com; s=arc-20260327; b=juwwQANrdGTXH0g+SkkF0DyGdnZDmtOoErYQmXe79EC0z1nuDUPaC/NCXwXDo9kQD2 fBmSSq7PJvdFHQexRFPA3+c5V0bmNj104vH1zPC9j3RV3zsW2sa3vfreIw6gPNrWTjaK Cn94oGEhNL4iRj0LNSEp/2lzQCEqkf7/dbq4HND+mTqd3htaoypwxGJ4FTB62fP5dBIW gDGM5+hn70om9TJRnLUCDcVmcHixyokQxvbnj/oyXeheYA2EghDummO9Nqe8Vu3Ygi0f DwUOjjvgH6w6UDjnuHYmuF2swc6zb93LcuplQS57l+y9eWF6YPiB57XSkq7B32bvYTm/ 7nDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=to:subject:message-id:date:from:mime-version:dkim-signature; bh=22fcapQuYhVVlBsHyik56BQXHsgxJjjsofC4KebZEuA=; fh=zmBiXS4++oTwZQlhBGDXkTXrBRjxGTXx7xA4llpr81M=; b=rYsM2pHIfCgOih4oIsUUOMqfSlsy95trdlaHma6yIvqQ8hkqF9lcUMvTaVS7EJHQo+ L9JawOJPag7kkg67Zmq+mTn2IG5IXm5YjMqZG6sq9YaxOAd0mNHOzxnuL6gWbhRProkU A8V1F/x1QN/RZ74gP3BMnExDcBUuo3kJDzumjiY7CZaC5c0SW+Vu9scHBFU3QPqNp1Go /D9bIQRkaHmGn/Aas5Iq2T+hFgLP3JKcqYFYat7uWCGcS3yzC/NlahuhIOVfc7xrrCeK qsaDoZVX4ycREMZ014Ac8CmrOJmjeWNjsZp5e1PUgKUSDuLZr5k7egoMOXOe30MS6qDo 1glA==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dunslane-net.20251104.gappssmtp.com; s=20251104; t=1783021330; x=1783626130; darn=lists.postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=22fcapQuYhVVlBsHyik56BQXHsgxJjjsofC4KebZEuA=; b=tca7B/dxOSMTJA7c4QtLbpQQ9GM4Qj3RgYZmWayAtjNkpPoVq0fnOPEgJLXwwwv3g0 zpsM3d1B0/SLgp/SVkJlxWKnHdj2L6XYlhf1UBQKMFgMmjxHyh6sQRjQp5giDW55MUiP qSjZR1pYXpi9i0VILbLkaA6cR1ylxIsBzDSqCSP4HWhc/ZwBd8ZtEOZTHZIsviMVfnKd MliY3yJA7dA+OfKj4p3eQuZ60v0hWUKvseFV2HWmnuhSTAJ7Pe3XbqQT4/RwMnMgjuNI iHu568DkRpbVuCZlTYBm4WuuGQCJP/VQQGigvtBwGK4xRGHFGB6qwgOth0C6HiJNHr+R iIig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783021330; x=1783626130; h=to:subject:message-id:date:from:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=22fcapQuYhVVlBsHyik56BQXHsgxJjjsofC4KebZEuA=; b=lH/z1osAN8OwUuaV6W5jEoSkNRll+n0tVju6JUkGz31t/3rxjnqNW/ozb9mgCPF/8O ED+Met/kiB8U8l4WGPjSc5zY3O3D98F4sFSEk10P9BlNuCNGUz4Whs3PhMYlrc2lE2vI GzWJ5Nz0+iWRIZCm3LSy8NjM88xySg9cz2Bj28YHLf3dkVyl95lJx9u9XqBL/9Cn0LkY m/s/Eb1KpO2rOgPhVjRmtaQ+bTScOeVu1+gHVr2et1rjfGyLlDPZrokoNIaYHe94nC+o fz6Y8eTbZjpmAIaKdNlucQHh3ckMy7U9S8OipbkFPpGnK1h76qU8IXQSp1I6SnIaBEK9 Za3Q== X-Gm-Message-State: AOJu0YyqITHVbFnzdU4sVP4qW+d+3fyzqVDl4ziA3U500qfpGzWyjvHV knQq+ekdZwHzof+QhqW0TCuyiIhuLDc9eGxYMBiAU+LRS/fagQSS2eNKzZiL0A6wUrDphMstc7h hwzcMtrj7g5zXMQqlloItlkzDJT8rH+AkrAqc6wArdD5HxjtRuNTF7xw= X-Gm-Gg: AfdE7cn1aVbUJwogKpYNZYiVWrakONI2tuyXy6hIY/x+TStubTwsDdtqTDKtcI/q6Ae MNwtNuk2YJDd9urXrwfMGrfRmq/8FqBm+Fk7SS1fWftp72YzU3AJ6DdzaQLsvOG4coiHYMjhly7 zTVohKVzmXssB03+r6TOwl9Hc1zOFTQhE21U/228jhA4CA6FFPPmSSUdpzi0HBow25nKF0/c1lr VPypAeHzt9ei1+91iD+OP5528+ZQQ8hxqDBE0FDHLyDU1uLgVK6I1HLIkK/yPbGgyYnktiTeO3g xOhHLt6Ddw== X-Received: by 2002:a05:690e:120b:b0:664:d5a3:b728 with SMTP id 956f58d0204a3-66636a8bcc4mr865140d50.16.1783021329585; Thu, 02 Jul 2026 12:42:09 -0700 (PDT) MIME-Version: 1.0 From: Andrew Dunstan Date: Thu, 2 Jul 2026 15:41:59 -0400 X-Gm-Features: AVVi8CfSWDFEggusf5bcF7pduwhZ5_E2vuUvx1y6tEcQTTcrSBo7P7qBiRwkKyU Message-ID: Subject: Announcing Release 21 of the PostgreSQL Buildfarm Cient To: PostgreSQL Hackers , buildfarm-members@lists.postgresql.org Content-Type: multipart/alternative; boundary="000000000000fa266b0655a60064" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000fa266b0655a60064 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable I have released version 21 of the PostgreSQL Buildfarm Client New features - *PatchStack module* =E2=80=94 a new module for non-standard buildfarms= that want to test a stack of patches on top of a branch. Note: this module is not for use with the regular community Buildfarm server - its use for builds reported there will be detected and rejected. - *ABI check module* =E2=80=94 a new module that runs abidw to detect AB= I changes in installed headers (passes --headers-dir and --drop-private-types for compatibility across abidw versions). Original author: Mankirat Singh, with additions from Tom Lane. - *branches_target config key* =E2=80=94 run_branches.pl can now use a d= edicated target URL for fetching branches_of_interest.json instead of deriving it by regex-mangling the main target URL. Falls back to the old derivation whe= n unset; the pgbuildfarm URL migration is applied to it as well. Build system / meson - using_meson is now decided by the presence of meson.build rather than by branch name, so it works reliably with non-standard branch names. - Use the meson --buildtype option. Non-standard / regex-matched branches - Skip the bf_ prefix when using regex-matched branches. - Fetch remote branches for regex checking in a saner way. - Handle cases where there is no usable symbolic HEAD (and suppress the resulting clone warnings). - Handle a missing remote HEAD when updating a mirror. Cross-version upgrade - Compress pg_upgrade dump files - Stop testing upgrades from pre-v10 in v20 and higher. - Several pg_upgrade_output.d fixes, including relative-path logic and a= n output-collection bug. Protocol - Adjust to upstream libpq protocol-version changes, and remove the PGMAXPROTOCOLVERSION setting earlier (per -hackers discussion). Diagnostics & logging - Archive failing log stages, and collect an additional log file. - Improve run-time reporting when a command times out, and avoid exiting the timeout sleep early on a signal. - Move testrun directories aside rather than deleting them, to aid later diagnosis. Bug fixes - Defer module checkout until after find_changed, so PatchStack commits do not make find_changed always report a build is needed. - Fix TAP-test duplication in configure/make builds (notably pg_plan_advice rerunning the whole regression suite), plus a scalar(glob()) Perl bug. - Disable git system settings when looking for changed files. - Fix finding the config file in the current directory in the auxiliary scripts. - Use proxy settings, if any, in run_branches.pl. - Skip the test_escape test on MSVC with old toolsets (non-meson, pre-16/17 only). Housekeeping - Clean up old tmpdir objects and stale port-lock (.rsv) files. - Avoid moving the .git directory when possible. - Set $devnull in a principled way. - Adjust for the unified Redis-FDW branches. Downloads the Release can be downloaded from https://buildfarm.postgresql.org/downloads/latest-client.tgz or https://github.com/PGBuildFarm/client-code/releases/tag/REL_21 enjoy cheers andrew --000000000000fa266b0655a60064 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

I have released version 21 of the PostgreSQL Buildfarm= Client


New features

  • PatchStack module =E2=80=94 a new module for non-s= tandard buildfarms that want to
    test a stack of patches on top of a branch. Note: this module is not for us= e with the regular community Buildfarm server - its use for builds reported= there will be detected and rejected.
  • ABI check module =E2=80=94 a new module that runs abidw to detect ABI chan= ges in
    installed headers (passes --headers-dir and --drop-priva= te-types for
    compatibility across abidw versions). Original author: Mankirat Singh, with=
    additions from Tom Lane.
  • branches_target confi= g key =E2=80=94 run_branc= hes.pl can now use a dedicated
    target URL for fetching branches_of_interest.json instead of d= eriving it by
    regex-mangling the main target URL. Falls back to the old derivation when unset; the pgbuildfarm URL migration is applied to it as well.

Build system / meson

  • using_meson is now decided by the presence of me= son.build rather than by
    branch name, so it works reliably with non-standard branch names.
  • U= se the meson --buildtype option.

Non-standard / regex-matched branches

  • Skip the bf_ prefix when using regex-matched branches.=
  • Fetch remote branches for regex checking in a saner way.
  • H= andle cases where there is no usable symbolic HEAD (and suppress the
    resulting clone warnings).
  • Handle a missing remote HEAD when updati= ng a mirror.

Cross-version upgrade

  • Compress pg_upgrade dump files
  • Stop testing up= grades from pre-v10 in v20 and higher.
  • Several pg_upgrade_out= put.d fixes, including relative-path logic and an
    output-collection bug.

Protocol

  • Adjust to upstream libpq protocol-version changes, and remove the PGMAXPROTOCOLVERSION setting earlier (per -hackers discussion)= .

Diagnostics & logging

  • Archive failing log stages, and collect an additional log file.
  • Improve run-time reporting when a command times out, and avoid exiting= the
    timeout sleep early on a signal.
  • Move testrun director= ies aside rather than deleting them, to aid later
    diagnosis.

Bug fixes

  • Defer module checkout until after find_changed, so Pat= chStack commits do
    not make find_changed always report a bu= ild is needed.
  • Fix TAP-test duplication in configure/make builds (n= otably pg_plan_advice
    rerunning the whole regression suite), plus a scalar(glob()) P= erl bug.
  • Disable git system settings when looking for changed files= .
  • Fix finding the config file in the current directory in the auxil= iary scripts.
  • Use proxy settings, if any, in run_branches.pl.
  • Skip the test_= escape test on MSVC with old toolsets (non-meson, pre-16/17
    only).

Housekeeping

  • Clean up old tmpdir objects and stale port-lock (.rsv)= files.
  • Avoid moving the .git directory when possible.=
  • Set $devnull in a principled way.
  • Adjust for = the unified Redis-FDW branches.

--000000000000fa266b0655a60064--