[vlc-devel] [PATCH v2 1/2] CI: Add script to get contribs SHA for CI
Marvin Scholz
epirat07 at gmail.com
Tue Oct 22 15:07:16 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