Переглянути джерело

When abidiff fails print out the XML diff

This can be useful for fixing the CI if needed
without the necessity to run abidw locally.

Also rename the CI job to make its purpose clearer.

Reviewed-by: Hugo Landau <hlandau@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/22689)
Tomas Mraz 1 рік тому
батько
коміт
40a24c20a8
1 змінених файлів з 11 додано та 3 видалено
  1. 11 3
      .github/workflows/ci.yml

+ 11 - 3
.github/workflows/ci.yml

@@ -264,7 +264,7 @@ jobs:
     - name: make test
     - name: make test
       run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
       run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
 
 
-  fips_and_ktls:
+  full_feat_w_abidiff:
     runs-on: ubuntu-latest
     runs-on: ubuntu-latest
     steps:
     steps:
     - uses: actions/checkout@v4
     - uses: actions/checkout@v4
@@ -287,9 +287,17 @@ jobs:
         cat /proc/cpuinfo
         cat /proc/cpuinfo
         ./util/opensslwrap.sh version -c
         ./util/opensslwrap.sh version -c
     - name: Check ABI compatibility for libcrypto
     - name: Check ABI compatibility for libcrypto
-      run: abidiff ./.github/workflows/libcrypto-abi.xml ./libcrypto.so
+      run: |
+        if ! abidiff ./.github/workflows/libcrypto-abi.xml ./libcrypto.so ; then
+          abidw --out-file libcrypto-abi-new.xml ./libcrypto.so
+          diff -u ./.github/workflows/libcrypto-abi.xml libcrypto-abi-new.xml
+        fi
     - name: Check ABI compatibility for libssl
     - name: Check ABI compatibility for libssl
-      run: abidiff ./.github/workflows/libssl-abi.xml ./libssl.so
+      run: |
+        if ! abidiff ./.github/workflows/libssl-abi.xml ./libssl.so ; then
+          abidw --out-file libssl-abi-new.xml ./libssl.so
+          diff -u ./.github/workflows/libssl-abi.xml libssl-abi-new.xml
+        fi
     - name: make test
     - name: make test
       run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}
       run: make test HARNESS_JOBS=${HARNESS_JOBS:-4}