[vlc-commits] CI: Add script to get contribs SHA for CI

Marvin Scholz git at videolan.org
Wed Oct 23 19:37:44 CEST 2019


vlc | branch: master | Marvin Scholz <epirat07 at gmail.com> | Thu Oct  3 02:25:22 2019 +0200| [14f0c600a97702a3e4bf80af79e7b8cf1bc6e2d3] | committer: Jean-Baptiste Kempf

CI: Add script to get contribs SHA for CI

Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=14f0c600a97702a3e4bf80af79e7b8cf1bc6e2d3
---

 extras/ci/get-contrib-sha.sh | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/extras/ci/get-contrib-sha.sh b/extras/ci/get-contrib-sha.sh
new file mode 100755
index 0000000000..cfa185ba03
--- /dev/null
+++ b/extras/ci/get-contrib-sha.sh
@@ -0,0 +1,38 @@
+#!/usr/bin/env bash
+# Copyright (C) Marvin Scholz
+#
+# License: see COPYING
+#
+# 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}"



More information about the vlc-commits mailing list