[vlc-commits] [Git][videolan/vlc][master] CI: use distcheck exclusively for building/testing

Steve Lhomme (@robUx4) gitlab at videolan.org
Sat Nov 26 08:22:34 UTC 2022



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
56c970a5 by Johannes Kauffmann at 2022-11-26T07:18:15+00:00
CI: use distcheck exclusively for building/testing

make_check_wrapper.sh + `make dist` does not replace make distcheck.

`make distcheck` is used as single source of truth. To still get stack
traces, move `make check` outside of the script and retrieve the exit
code of `make distcheck`.

This should catch issues like #27470 upfront.

- - - - -


2 changed files:

- extras/ci/gitlab-ci.yml
- test/make_check_wrapper.sh → test/dump_stacktraces.sh


Changes:

=====================================
extras/ci/gitlab-ci.yml
=====================================
@@ -284,21 +284,16 @@ debian:
         fi
         cd ../../
 
-        # Build VLC
+        # Configure VLC
         ./bootstrap
         ./configure
-        make -j$NCPU
 
-        # Run tests
-        VLC_TEST_TIMEOUT=60 sh -x ./test/make_check_wrapper.sh -j4
-        if [ "${CI_JOB_NAME:0:8}" = "nightly-" ]; then
-            export XZ_OPT="-T 0"
-            make -j$NCPU distcheck
-        else
-          # Don't run distcheck but dist as it is already tested via
-          # make_check_wrapper.sh
-          make -j$NCPU dist
-        fi
+        # Allow core dumps for tracing test failures
+        ulimit -c unlimited
+
+        # Build, check and distcheck VLC
+        export XZ_OPT="-T 0"
+        VLC_TEST_TIMEOUT=60 make -j$NCPU distcheck || ./test/dump_stacktraces.sh
     variables: *variables-debian
 
 nightly-debian:


=====================================
test/make_check_wrapper.sh → test/dump_stacktraces.sh
=====================================
@@ -2,12 +2,14 @@
 
 # Helper used to print more information (log + core dump) about a failing test
 
-ulimit -c unlimited
-
-make check $*
-ret=$?
+if [ $# -gt 0 ];then
+    # exit code passed in from stdin
+    ret=$1
+else
+    ret=1
+fi
 
-if [ $ret -eq 0 ] || ! (which gdb >/dev/null);then
+if [ $ret -eq 0 ] || ! (command -v gdb >/dev/null);then
     exit $ret
 fi
 



View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/56c970a5ba9e950e18ff1fe957e5344d63612556

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/56c970a5ba9e950e18ff1fe957e5344d63612556
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance


More information about the vlc-commits mailing list