[ci,abi] refactor suppressions

* add a script to run abi-diff locally
* refactor suppression file, explicitly state type of change expected
* use local script for ci tests as well
* disable client and shadow server builds
This commit is contained in:
akallabeth
2025-03-19 20:30:21 +01:00
parent df800c2a0b
commit 78a53f936b
4 changed files with 48 additions and 9 deletions

22
scripts/abi-diff.sh Executable file
View File

@@ -0,0 +1,22 @@
#!/bin/bash -xe
#
SCRIPT_NAME="${BASH_SOURCE[0]}"
SCRIPT_PATH=$(dirname "${BASH_SOURCE[0]}")
SCRIPT_PATH=$(realpath "$SCRIPT_PATH")
if [ $# -ne 1 ];
then
echo "$0 <reference commit or tag>"
exit 1
fi
BASE_REF=$1
cd "$SCRIPT_PATH/.."
mkdir -p abi-checker
cp ci/cmake-preloads/config-abi.txt abi-checker/
cp scripts/abi-suppr.txt abi-checker/
curl https://gist.githubusercontent.com/akallabeth/aa35caed0d39241fa17c3dc8a0539ea3/raw/ef12f8c720ac6be51aa1878710e2502b1b39cf4c/check-abi -o abi-checker/check-abi
chmod +x abi-checker/check-abi
./abi-checker/check-abi -s abi-checker/abi-suppr.txt --parameters="-Cabi-checker/config-abi.txt" $BASE_REF $(git rev-parse HEAD)

View File

@@ -38,21 +38,32 @@ change_kind = function-subtype-change
name = freerdp_passphrase_read
return_type_name = const char*
[suppress_function]
[suppress_type]
change_kind = enum
name = FreeRDP_Settings_Keys_Int32
name = FreeRDP_Settings_Keys_UInt32
changed_enumerators = FreeRDP_MonitorLocalShiftX, FreeRDP_MonitorLocalShiftY
# gdi_graphics_pipeline_init_ex subtype change (__uint32 to uint32_t)
[suppress_function]
[suppress_type]
change_kind = typedef
name = UINT
[suppress_type]
change_kind = typedef
name = UINT16
[suppress_type]
change_kind = typedef
name = UINT32
[suppress_type]
change_kind = typedef
name = UINT64
# msusb_msconfig_dump did use MSUSB_CONFIG_DESCRIPTOR* instead of const MSUSB_CONFIG_DESCRIPTOR*
[suppress_function]
change_kind = function-subtype-change
name = msusb_msconfig_dump
parameter = '0 const MSUSB_CONFIG_DESCRIPTOR*
[suppress_function]
change_kind = function-subtype-change
@@ -73,3 +84,8 @@ parameter = '1 const GDI_RGN*
change_kind = function-subtype-change
name = gdi_PtInRect
parameter = '0 const GDI_RECT*'
[suppress_function]
change_kind = function-subtype-change
name = GetDynamicTimeZoneInformationEffectiveYears
parameter = '0 const DYNAMIC_TIME_ZONE_INFORMATION*'