Re: ABI Compliance Checker GSoC Project

From: "David E(dot) Wheeler" <david(at)justatheory(dot)com>
To: Mankirat Singh <mankiratsingh1315(at)gmail(dot)com>
Cc: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: ABI Compliance Checker GSoC Project
Date: 2025-08-27 17:13:54
Message-ID: 747DAC61-591E-4536-8E42-2F6015D02A74@justatheory.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Aug 26, 2025, at 17:43, Mankirat Singh <mankiratsingh1315(at)gmail(dot)com> wrote:

> If ABI differences are found, you’ll see "log files for step abi-compliance-check:"; if not, you’ll see "no abi diffs found in this run" (example [3]).

I’m quite happy to have a working build farm animal making these reports. Yesterday I had baza compare changes since the .1 release of each branch. Here’s the REL_17_STABLE report[1] Mankirat referenced. I’ve since removed the base tag configuration, so today’s v17 build[2] has no diff.

If anyone else would like to try it on their animals prior to its review, merge and release, just copy ABICompCheck.pm[3] into PGBuild/Modules and add `ABICompCheck` to the `modules` list in `build-farm.conf`. See Mankirat’s branch for additional configuration[4].

> I do have some questions related to the module, that, should we include any other binaries (besides postgres, ecpg, and libpq.so) in the default list?

These seem like reasonable defaults to me. Anyone care about ABI changes in other binaries?

> I plan to work on false positives by adding abidiff suppression files per branch (possibly managed in a community repo). I’d love to hear ideas on this.

ISTM that starting with full reports for now ought to be fine, to see where the cow paths develop and where issues annoy and fix those.

Also, what rules should be put in place to make a build “fail” based on what has changed? Right now, I believe, the results are simply reported without a pass/fail. Would a failure status be useful, given some level of change?

> Although this is my last week under the official google summer of code project timeline, I do plan to stay involved in the Postgres community and work towards core database development in the future.

Thank you, Mankirat, I think this will be very useful!

Best,

David

[1] https://buildfarm.postgresql.org/cgi-bin/show_stage_log.pl?nm=baza&dt=2025-08-26%2000%3A12%3A11&stg=abi-compliance-check
[2] https://buildfarm.postgresql.org/cgi-bin/show_stage_log.pl?nm=baza&dt=2025-08-27%2013%3A25%3A11&stg=abi-compliance-check
[3] https://github.com/MankiratSingh1315/pg-bf-client-code/blob/abi-comp-check/PGBuild/Modules/ABICompCheck.pm
[4] https://github.com/MankiratSingh1315/pg-bf-client-code/blob/abi-comp-check/build-farm.conf.sample#L419-L440

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Masahiko Sawada 2025-08-27 17:54:11 Re: POC: enable logical decoding when wal_level = 'replica' without a server restart
Previous Message Peter Eisentraut 2025-08-27 16:54:33 Re: Proper object locking for GRANT/REVOKE