Commit 6e6e425e23eb38ed4e111b1f4ce83d7d86812585

Simon McVittie 2022-05-05T17:50:28

workflows: Do the equivalent of Automake `make distcheck` The official source code release isn't much use unless it contains everything that users and downstream distributions need to do a new build, so check that it does. Signed-off-by: Simon McVittie <smcv@collabora.com>

diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 46b9749..9f8d83d 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -150,7 +150,18 @@ jobs:
         make -j"${parallel}" -C build-autotools install DESTDIR="${curdir}/DESTDIR-autotools" V=1
         make -j"${parallel}" -C build-autotools/test install DESTDIR="${curdir}/DESTDIR-autotools" V=1
         ( cd DESTDIR-autotools; find ) | LC_ALL=C sort -u
+    - name: Distcheck
+      if: matrix.platform.autotools
+      run: |
+        set -eu
+        parallel="$(getconf _NPROCESSORS_ONLN)"
         make -j"${parallel}" -C build-autotools dist V=1
+        # Similar to Automake `make distcheck`: check that the tarball
+        # release is sufficient to do a new build
+        mkdir distcheck
+        tar -C distcheck -zxf build-autotools/SDL2-*.tar.gz
+        ( cd distcheck/SDL2-* && ./configure )
+        make -j"${parallel}" -C distcheck/SDL2-*
     - name: Run installed-tests from Autotools
       if: "runner.os == 'Linux' && matrix.platform.autotools"
       run: |