From 64f9f480c759fabdaecdb7f7e0d1634d3fd6a50d Mon Sep 17 00:00:00 2001 From: Nathan Bossart Date: Mon, 20 Oct 2025 11:43:14 -0500 Subject: [PATCH v2 1/1] Add notes for creating .abi-compliance-history. --- src/tools/RELEASE_CHANGES | 5 +++++ src/tools/make_abi_history_file | 31 +++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100755 src/tools/make_abi_history_file diff --git a/src/tools/RELEASE_CHANGES b/src/tools/RELEASE_CHANGES index c0d75c213be..938dcbb7ab6 100644 --- a/src/tools/RELEASE_CHANGES +++ b/src/tools/RELEASE_CHANGES @@ -61,6 +61,11 @@ in both master and the branch. * Ports o update ports list in doc/src/sgml/installation.sgml +* Create .abi-compliance-history file with initial entry shortly before the .0 + stamp by running "src/tools/make_abi_history_file" (from the top of the + source tree) and then following the instructions in the file to add the + entry. + Pre-Beta Tasks ============== diff --git a/src/tools/make_abi_history_file b/src/tools/make_abi_history_file new file mode 100755 index 00000000000..1c6c1743695 --- /dev/null +++ b/src/tools/make_abi_history_file @@ -0,0 +1,31 @@ +#!/bin/sh + +# Copyright (c) 2025, PostgreSQL Global Development Group +# +# src/tools/make_abi_history_file +# +# NB: Must be run from top of source tree! + +cat << EOF >> .abi-compliance-history +# Reference point for ABI compliance checks +# +# This file lists commits on the current branch that break ABI compatibility in +# ways that have been deemed acceptable (e.g., removing an extern function with +# no third-party uses). The primary intent of this file is to placate the ABI +# compliance checks on the buildfarm, but it also serves as a central location +# to document the justification for each. +# +# In general, entries should be added reactively after an abi-compliance-check +# buildfarm failure. It is important to verify the details of the breakage +# match expectations, as the first entry listed will become the updated ABI +# baseline point. +# +# Add new entries by adding the output of the following to the top of the file: +# +# $ git log --pretty=format:"%H%n#%n# %s%n# %cd%n#%n# " $ABIBREAKGITHASH -1 --date=iso +# +# Be sure to replace "" with details of your change and +# why it is deemed acceptable. + + +EOF -- 2.39.5 (Apple Git-154)