[vlc-devel] [PATCH v4 1/2] CI: Add script to get contribs SHA for CI

Marvin Scholz epirat07 at gmail.com
Wed Oct 23 14:26:04 CEST 2019


---
 extras/ci/get-contrib-sha.sh | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)
 create mode 100755 extras/ci/get-contrib-sha.sh

diff --git a/extras/ci/get-contrib-sha.sh b/extras/ci/get-contrib-sha.sh
new file mode 100755
index 0000000000..0a597a1cc2
--- /dev/null
+++ b/extras/ci/get-contrib-sha.sh
@@ -0,0 +1,36 @@
+#!/usr/bin/env bash
+# Copyright (C) Marvin Scholz
+#
+# Get latest SHA that changed contribs (needed for CI)
+set -e
+
+# Array of paths that trigger contrib rebuilds in Gitlab CI
+VLC_CONTRIB_REBUILD_PATHS=("extras/tools" "contrib")
+# Revision from which to start look for changes (backwards in time)
+VLC_START_REVISION="HEAD"
+
+# Print error message and terminate script with status 1
+# Arguments:
+#   Message to print
+abort_err()
+{
+    echo "ERROR: $1" >&2
+    exit 1
+}
+
+command -v "git" >/dev/null 2>&1 || abort_err "Git was not found!"
+
+# VLC source root directory
+VLC_SRC_ROOT_DIR=$(git rev-parse --show-toplevel)
+
+[ -n "${VLC_SRC_ROOT_DIR}" ] || abort_err "This script must be run in the VLC Git repo and git must be available"
+[ -f "${VLC_SRC_ROOT_DIR}/src/libvlc.h" ] || abort_err "This script must be run in the VLC Git repository"
+
+VLC_LAST_CONTRIB_SHA=$(
+    cd "$VLC_SRC_ROOT_DIR" &&
+    git rev-list -1 "${VLC_START_REVISION}" -- "${VLC_CONTRIB_REBUILD_PATHS[@]}"
+)
+
+[ -n "${VLC_LAST_CONTRIB_SHA}" ] || abort_err "Failed to determine last contrib SHA using Git!"
+
+echo "${VLC_LAST_CONTRIB_SHA}"
-- 
2.20.1 (Apple Git-117)



More information about the vlc-devel mailing list