apache / apache/arrow

[Release][C++] Check the ABI stability during the release process of bug-fix releases

Open
#41,708 2 comments 0 reactions 0 assignees View on GitHub
Component: C++ Component: Release
Dominant language
C++
Stars
17.1k
Forks
4.3k
Avg merge
3d 13h
Merged PRs (30d)
88

Description

According to our current policy, bug-fix (micro) releases of the C++ libraries are expected to be ABI stable, and so versions are not bumped (we should better document this, though, for which I opened https://github.com/apache/arrow/issues/41707).

However, AFAIK we don't actually check for this, and I am also not sure if we pay much attention to that aspect when deciding to backport certain PRs to the release branch.
We do have a section in the dev docs about how to check for this (https://arrow.apache.org/docs/dev/developers/cpp/development.html#checking-for-abi-and-api-stability), and _if_ we promise ABI stability, then I think we should do a better job of actually checking for this during the release process, and run that tool as part of the release process / verification? (or in some CI build, although one that should only run on the maintenance branches)

Example issue where we recently had an ABI break in 15.0.1: https://github.com/apache/arrow/issues/40604 (although I haven't checked if the tool mentioned above would have caught this)

cc @raulcd @kou

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.