ppg:staging: next release train — PG 14.24 / 15.19 / 16.15 / 17.11 / 18.6 and component bumps per QA fixtures - #16
Merged
Merged
Conversation
OBS Build Check — ✅ Builds passedPackages for this PR are being built at isv:percona:PR:pr-16.
|
rjd15372
force-pushed
the
next-train-bumps
branch
from
August 31, 2026 10:34
cd8dc03 to
11edd08
Compare
Move every staging project to the PostgreSQL minors the QA fixtures
(Percona-QA/ppg-testing versions/ppg.py + settings.py) expect for the
next release train: 14.24, 15.19, 16.15, 17.11 and 18.6.
- PG_MINOR_VERSION / PG_PREV_MINOR_VERSION bumped in staging/14-18.
- Percona fork servers: PERCONA_PG_PATCH_VERSION 2 -> 1 in staging/17
and 18 (QA percona-version 17.11.1 / 18.6.1). The fork has only the
release-17.11.1 / release-18.6.1 *branches* so far; the tags of the
same name are expected shortly, at which point the revision pins
automatically without further change here.
- staging/16/tde: the fork has no release-16.15 branch (only
release-16.15.1), so the server _service now uses the same
release-%!{PG_VERSION}.%!{PERCONA_PG_PATCH_VERSION} form as 17/18
(new PERCONA_PG_PATCH_VERSION: 1 in staging/16/macros.yaml, QA
psp-16.15 percona-version 16.15.1) and points at percona/postgres
instead of the Percona-Lab redirect.
- extras/containers upgrade pipeline: OLD_SERVER_VERSION follows the
previous major's new minor (15.19 / 16.15 / 17.11).
Signed-off-by: Ricardo Dias <ricardo.dias@percona.com>
…or 0.8.6, postgresql-common 293 Shared component versions the QA fixtures expect for the next train (14.24 / 15.19 / 16.15 / 17.11 / 18.6). All are single macro bumps in staging/macros.yaml; upstream tags verified to exist. - haproxy 2.8.23 -> 2.8.27: our four debian patches target admin/systemd, contrib/halog and debian/dconv, none of which changed between the two tags (only doc/). - patroni 4.1.3 -> 4.1.5: only patroni/version.py changed in the packaging-relevant set; no new Python dependencies. - pgbackrest 2.58.0 -> 2.59.0: meson build unchanged for us; upstream adds an optional libsystemd feature (auto), left at its default. staging/18 still carried the literal 2.58.0 in the spec and dsc Version fields; set_version rewrites them at build time, so use the 1.0.0 placeholder like staging/14-17. - pgvector 0.8.3 -> 0.8.6: %files globs the SQL upgrade scripts. - postgresql-common 290 -> 293: port the two debian/ changes from the Debian tags into our renamed overlay: the pg_lsclusters guard in try_upgrade (percona-postgresql.config) and the new postgresql-common-dev.docs (doc/postgresql-debian-packaging.md). Signed-off-by: Ricardo Dias <ricardo.dias@percona.com>
QA fixtures expect etcd 3.5.33 for the next release train. The etcd package pins its revision literally (no macro) and keeps hand-written changelog entries in debian/changelog and the spec, so all three are updated here. Aggregated into every ppg:staging:<N> project. Signed-off-by: Ricardo Dias <ricardo.dias@percona.com>
…ld fixes
QA fixtures expect pg_tde 2.2.2 for 17.11 / 18.6 / psp-16.15. Upstream
tagged it as plain '2.2.2' (2.2.1 was 'release-2.2.1'), so the _service
revision is now the bare %!{PG_TDE_VERSION} tag and the
release-(.*) versionrewrite is dropped.
2.2.2 switches the KMIP client to the C++ libkmip library, pulled in as
a git submodule (subprojects/libkmip) and built with cmake. Carry the
fixes already proven on ppg:devel:18 (percona/main 4e6353d, 074f56d)
into the three staging trees:
- obs_scm: submodules=enable (staging/18 already had it).
- Debian: cmake in Build-Depends (control, control.in, debian.dsc) and
the meson-cpp-std-c2a quilt patch — bullseye's meson 0.56.2 rejects
cpp_std=c++20 (added in 0.57); c++2a is the same standard. Hunk
context verified against the 2.2.2 meson.build (lines 142/171) with
a dry-run apply.
- RPM: cmake BuildRequires; gcc-c++ on SUSE so meson does not pair
clang++ (from the llvm BuildRequires) with gcc under -flto=auto.
staging/18's control/control.in/debian.dsc/spec are now byte-identical
to devel/18's; 17 and 16/tde received the equivalent edits in their own
spec/control layout.
Signed-off-by: Ricardo Dias <ricardo.dias@percona.com>
QA fixtures expect pg_oidc_validator 1.1.0 for 18.6. The _service
revision was release-%!{PG_OIDC_VALIDATOR_VERSION}, i.e. the
'release-1.0' *branch*; upstream tags are plain versions (1.0.0,
1.1.0), so the revision is now the bare %!{PG_OIDC_VALIDATOR_VERSION}
tag. The 1.0.0 -> 1.1.0 Makefile change only adds a non-default
oauth_conn_test target; the module build and %files are unaffected.
Spec Version literal replaced with the 1.0.0 placeholder that
set_version rewrites.
Signed-off-by: Ricardo Dias <ricardo.dias@percona.com>
rjd15372
force-pushed
the
next-train-bumps
branch
from
August 31, 2026 11:02
11edd08 to
3389429
Compare
staging/16 and the 16/17/18 extras percona-postgresql packages still cloned https://git.postgresql.org/git/postgresql.git. That server does not support partial clone ('warning: filtering not recognized by server, ignoring' — tar_scm's --filter=tree:0 becomes a full clone) and keeps dropping the connection mid-transfer on CI runners (curl 56 GnuTLS recv error (-110), early EOF), which failed the PR content checks twice in a row once this PR bumped the revisions to new tags that are not in the scm cache yet. Switch the four _service urls to https://github.com/postgres/postgres.git, the official mirror already used by staging/14 and 15, which honours partial clone and passed the same checks in the same run. Tags REL_16_15 / REL_17_11 / REL_18_6 verified present on the mirror. Signed-off-by: Ricardo Dias <ricardo.dias@percona.com>
The 2026-08 upstream minors (14.24 / 15.19 / 16.15 / 17.11) add a new GUC line to postgresql.conf.sample right after gin_fuzzy_search_limit: #output_plugin_libraries = 'pgoutput, test_decoding' # approved plugins for logical decoding That line sits inside the trailing context of the extension_destdir quilt patch's conf.sample hunk, and dpkg-source applies patches with fuzz 0, so the Debian/Ubuntu server builds failed with 'Hunk #1 FAILED at 726' on every major carrying the patch (staging/14, 15, 16, 17 and 17/extras; 18 does not carry it). Refresh the hunk context to include the new line. Each refreshed hunk verified to apply at fuzz 0 (patch -p1 -F 0 --dry-run) against the corresponding upstream tag's postgresql.conf.sample. Signed-off-by: Ricardo Dias <ricardo.dias@percona.com>
pgbackrest 2.59.0 added a meson smoke test (test/smoke.py) that looks for an installed PostgreSQL server to run against and fails with 'no supported PostgreSQL installation found to test against' otherwise. Our build chroots only carry libpq (pgbackrest has no server build dependency), so dh_auto_test now fails every Debian/Ubuntu build on all majors while the RPM spec (no %check) is unaffected. Add an empty override_dh_auto_test to the (identical) debian/rules of staging/14-18; upstream CI covers the test suite. Signed-off-by: Ricardo Dias <ricardo.dias@percona.com>
Same refresh as bf52b62: the 16/tde server tree carries its own copy of the extension_destdir quilt patch, missed in that commit, and the Percona fork branch release-16.15.1 includes the new output_plugin_libraries line in postgresql.conf.sample just like upstream 16.15, so the conf.sample hunk failed at fuzz 0 ('Hunk #1 FAILED at 750'). This also unblocks percona-pg_tde in the same project: its Debian build failed with 'access/xlog_smgr.h: No such file or directory' because the tde server (which provides that header via its -dev package) never built, so the chroot resolved the stock staging:16 server headers instead. Hunk verified to apply at fuzz 0 against the fork's release-16.15.1 postgresql.conf.sample. Signed-off-by: Ricardo Dias <ricardo.dias@percona.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Moves
ppg:stagingto the next release train as expected by the Percona-QA/ppg-testing fixtures (versions/*.py+settings.py, PG-2628 / PG-2544): 14.24 / 15.19 / 16.15 / 17.11 / 18.6.Server minors
PG_MINOR_VERSION/PG_PREV_MINOR_VERSIONbumped in staging/14–18. UpstreamREL_14_24…REL_18_6tags exist.PERCONA_PG_PATCH_VERSION2 → 1, matching QA'spercona-version17.11.1 / 18.6.1. The fork currently has only therelease-17.11.1/release-18.6.1branches; the same-named tags are expected shortly and will pin the revision without any further change here.release-16.15branch (onlyrelease-16.15.1), so the server_servicenow uses the samerelease-%!{PG_VERSION}.%!{PERCONA_PG_PATCH_VERSION}form as 17/18 (PERCONA_PG_PATCH_VERSION: 1added to staging/16, QA psp-16.15percona-version16.15.1) and points atpercona/postgres.OLD_SERVER_VERSION→ 15.19 / 16.15 / 17.11.Components (all upstream tags verified)
doc/changed)version.pyin the packaging-relevant setlibsystemdmeson feature left atauto; staging/18 literalVersion: 2.58.0→1.0.0placeholder like 14–17%filesglobs the SQL upgrade scriptsdebian/changes into our overlays:pg_lsclustersguard intry_upgrade, new-dev.docsrelease-1.0branch; now the bare1.1.0tag. Makefile change adds only a non-default test targetpg_tde 2.2.1 → 2.2.2 (17, 18, 16/tde)
Upstream tagged plain
2.2.2(notrelease-2.2.2), so the_servicerevision is the bare%!{PG_TDE_VERSION}and therelease-(.*)versionrewrite is dropped. 2.2.2 brings the C++ KMIP client (libkmip git submodule, cmake). The fixes already proven onppg:devel:18(4e6353d, 074f56d) are carried into the three staging trees:submodules=enable,cmakebuild-dep, themeson-cpp-std-c2aquilt patch for bullseye's meson 0.56 (dry-run applied cleanly against the 2.2.2meson.build), andgcc-c++on SUSE. staging/18's control/control.in/dsc/spec are now byte-identical to devel/18.Verification
Every touched
_serviceresolved throughpercona_obs.common.load_macros():REL_14_24,REL_15_19,REL_16_15,release-17.11.1,release-18.6.1,release-16.15.1,2.2.2×3,v2.8.27,v4.1.5,release/2.59.0,v0.8.6,debian/293,v3.5.33,1.1.0.tests/: 124 passed. No Python changes.Not in this PR
devel/*macros (deliberately left alone).psp-16.15entry expects pgbackrest 2.59.1 for the psp-16 repo line; our 16/tde links to staging/16's 2.59.0.