From 0ffe787d5f237d517fdd791355426fd575734b61 Mon Sep 17 00:00:00 2001 From: akallabeth Date: Mon, 26 Feb 2024 11:52:06 +0100 Subject: [PATCH] workflow abi-checker --- .github/workflows/abi-checker.yml | 88 +++++++++++++++++++++++++++++++ ci/cmake-preloads/config-abi.txt | 21 ++++++++ 2 files changed, 109 insertions(+) create mode 100644 .github/workflows/abi-checker.yml create mode 100644 ci/cmake-preloads/config-abi.txt diff --git a/.github/workflows/abi-checker.yml b/.github/workflows/abi-checker.yml new file mode 100644 index 000000000..8ff90d35c --- /dev/null +++ b/.github/workflows/abi-checker.yml @@ -0,0 +1,88 @@ +name: abi-checker +on: + workflow_dispatch: + branches: [ master, stable* ] + inputs: + GITHUB_BASE_REF: + description: 'Base revision for ABI compatibility check' + required: true + default: '3.0.0' + pull_request_target: + branches: [ master, stable* ] + +jobs: + build_job: + runs-on: ubuntu-latest + name: "Test on ${{ matrix.os }}" + strategy: + fail-fast: false + matrix: + os: [ + ubuntu-latest + ] + steps: + - uses: actions/checkout@v4 + name: "Run tests" + id: build + with: + os: ${{ matrix.os }} + githubToken: ${{ github.token }} + install: | + apt-get update -q -y + apt-get install -q -y \ + libxrandr-dev \ + libxinerama-dev \ + libusb-1.0-0-dev \ + xserver-xorg-dev \ + libswscale-dev \ + libswresample-dev \ + libavutil-dev \ + libavcodec-dev \ + libcups2-dev \ + libpulse-dev \ + libasound2-dev \ + libpcsclite-dev \ + xsltproc \ + libxcb-cursor-dev \ + libxcursor-dev \ + libcairo2-dev \ + libfaad-dev \ + libjpeg-dev \ + libgsm1-dev \ + ninja-build \ + libxfixes-dev \ + libxkbcommon-dev \ + libwayland-dev \ + libpam0g-dev \ + libxdamage-dev \ + libxcb-damage0-dev \ + libxtst-dev \ + libfuse3-dev \ + libsystemd-dev \ + libcairo2-dev \ + libsoxr-dev \ + libsdl2-dev \ + docbook-xsl \ + libkrb5-dev \ + libcjson-dev \ + libpkcs11-helper1-dev \ + libsdl2-ttf-dev \ + libwebkit2gtk-4.0-dev \ + libopus-dev \ + libwebp-dev \ + libpng-dev \ + libjpeg-dev \ + liburiparser-dev \ + cmake \ + clang \ + abigail-tools \ + pylint \ + curl + run: | + mkdir -p checker + cp ci/cmake-preloads/config-abi.txt checker/ + curl https://gist.githubusercontent.com/akallabeth/aa35caed0d39241fa17c3dc8a0539ea3/raw/ef12f8c720ac6be51aa1878710e2502b1b39cf4c/check-abi -o checker/check-abi + chmod +x checker/check-abi + echo "GITHUB_BASE_REF=$GITHUB_BASE_REF" + echo "GITHUB_HEAD_REF=$GITHUB_HEAD_REF" + ./checker/check-abi --parameters="-Cchecker/config-abi.txt" $GITHUB_BASE_REF $(git rev-parse HEAD) diff --git a/ci/cmake-preloads/config-abi.txt b/ci/cmake-preloads/config-abi.txt new file mode 100644 index 000000000..4a91a71a7 --- /dev/null +++ b/ci/cmake-preloads/config-abi.txt @@ -0,0 +1,21 @@ +message("PRELOADING cache") +set (CMAKE_VERBOSE_MAKEFILE ON CACHE BOOL "preload") +set (WITH_MANPAGES OFF CACHE BOOL "preload") +set (CMAKE_BUILD_TYPE "RelWithDebInfo" CACHE STRING "preload") +set (UWAC_FORCE_STATIC_BUILD ON CACHE BOOL "preload") +set (RDTK_FORCE_STATIC_BUILD ON CACHE BOOL "preload") +set (WINPR_UTILS_IMAGE_PNG ON CACHE BOOL "preload") +set (WINPR_UTILS_IMAGE_JPEG ON CACHE BOOL "preload") +set (WINPR_UTILS_IMAGE_WEBP ON CACHE BOOL "preload") +set (WITH_BINARY_VERSIONING ON CACHE BOOL "preload") +set (WITH_INTERNAL_RC4 ON CACHE BOOL "preload") +set (WITH_INTERNAL_MD4 ON CACHE BOOL "preload") +set (WITH_INTERNAL_MD5 ON CACHE BOOL "preload") +set (WITH_SAMPLE ON CACHE BOOL "preload") +set (WITH_FFMPEG ON CACHE BOOL "preload") +set (WITH_SWSCALE ON CACHE BOOL "preload") +set (WITH_DSP_FFMPEG ON CACHE BOOL "preload") +set (WITH_FREERDP_DEPRECATED_COMMANDLINE ON CACHE BOOL "preload") +set (WITH_PULSE ON CACHE BOOL "preload") +set (WITH_OPAQUE_SETTINGS ON CACHE BOOL "preload") +set (WITH_VERBOSE_WINPR_ASSERT OFF CACHE BOOL "preload")