]> granicus.if.org Git - libmatroska/commitdiff
[1.x] test ABI breakage on 1.x branches
authorSteve Lhomme <slhomme@matroska.org>
Sat, 8 Oct 2022 13:56:13 +0000 (15:56 +0200)
committerSteve Lhomme <slhomme@matroska.org>
Sat, 8 Oct 2022 15:03:53 +0000 (17:03 +0200)
.github/workflows/abibreak.yaml [new file with mode: 0644]

diff --git a/.github/workflows/abibreak.yaml b/.github/workflows/abibreak.yaml
new file mode 100644 (file)
index 0000000..1f3ebde
--- /dev/null
@@ -0,0 +1,65 @@
+name: "ABI Breakage"\r
+on:\r
+  push:\r
+    branches: [ v1.x ]\r
+  pull_request:\r
+\r
+jobs:\r
+  test_abidiff:\r
+    name: abidiff\r
+    runs-on: ubuntu-latest\r
+    steps:\r
+      - uses: lukka/get-cmake@latest\r
+\r
+      - name: Checkout libebml\r
+        uses: actions/checkout@v3\r
+        with: \r
+          repository: Matroska-Org/libebml\r
+          path: libebml\r
+          ref: v1.x\r
+\r
+      - name: Configure libebml\r
+        run: cmake -S libebml -B libebml/_build -DBUILD_SHARED_LIBS=ON\r
+\r
+      - name: Build libebml\r
+        run: cmake --build libebml/_build --parallel\r
+\r
+      - name: Install libebml\r
+        run: cmake --install libebml/_build --prefix ${GITHUB_WORKSPACE}/_built\r
+\r
+      - name: Get pushed code\r
+        uses: actions/checkout@v3\r
+        with: \r
+          path: libmatroska-new\r
+      \r
+      - name: Configure CMake \r
+        run: cmake -S libmatroska-new -B _build -DBUILD_SHARED_LIBS=ON -DEBML_DIR="${GITHUB_WORKSPACE}/_built/lib/cmake/EBML"\r
+\r
+      - name: Build\r
+        run: cmake --build _build --parallel\r
+\r
+      - name: Install\r
+        run: cmake --install _build --prefix ${GITHUB_WORKSPACE}/_built\r
+\r
+      - name: Get v1.x code\r
+        uses: actions/checkout@v3\r
+        with: \r
+          path: libmatroska-1\r
+          ref: v1.x\r
+      \r
+      - name: Configure v1.x\r
+        run: cmake -S libmatroska-1 -B _build_1 -DBUILD_SHARED_LIBS=ON -DEBML_DIR="${GITHUB_WORKSPACE}/_built/lib/cmake/EBML"\r
+\r
+      - name: Build v1.x\r
+        run: cmake --build _build_1 --parallel\r
+\r
+      - name: Install v1.x\r
+        run: cmake --install _build_1 --prefix ${GITHUB_WORKSPACE}/_built_1\r
+\r
+      - name: Get abidiff\r
+        run: |\r
+          sudo apt update\r
+          sudo apt install abigail-tools\r
+\r
+      - name: Check ABI differences\r
+        run: abidiff --no-added-syms ${GITHUB_WORKSPACE}/_built/lib/libmatroska.so ${GITHUB_WORKSPACE}/_built_1/lib/libmatroska.so\r