about summary refs log tree commit diff
path: root/tools/check-gitlab-ci.sh
diff options
context:
space:
mode:
authorSebastien Bacher <seb128@ubuntu.com>2021-02-25 11:35:01 +0100
committerSebastien Bacher <seb128@ubuntu.com>2021-02-25 11:49:48 +0100
commit77dea84aa6e816f66dc622cec8ae2668eba3c068 (patch)
tree755536a0ed1fb36c2899e9bff9e092c4008a25c4 /tools/check-gitlab-ci.sh
parent47f08826b44eed651b44dc8bacb5b46bc4c52067 (diff)
parentfd80297a396cc4dd7da4da20208fb360aa369aa7 (diff)
Merge branch 'debian/master' into ubuntu/master
Diffstat (limited to 'tools/check-gitlab-ci.sh')
-rwxr-xr-xtools/check-gitlab-ci.sh37
1 files changed, 37 insertions, 0 deletions
diff --git a/tools/check-gitlab-ci.sh b/tools/check-gitlab-ci.sh
new file mode 100755
index 00000000..8ad0fbb2
--- /dev/null
+++ b/tools/check-gitlab-ci.sh
@@ -0,0 +1,37 @@
+#!/bin/bash
+
+set -e
+
+if [ "$NMTST_SKIP_CHECK_GITLAB_CI" = 1 ]; then
+    exit 0
+fi
+
+if [ $# -eq 0 ] ; then
+    BASEDIR="$(dirname "$(readlink -f "$0")")/.."
+elif [ $# -eq 1 ] ; then
+    BASEDIR="$1"
+else
+    echo "invalid arguments"
+    exit 1
+fi
+
+cd "$BASEDIR"
+
+if ! [ -f ./.gitlab-ci.yml ] ; then
+    # we have no gitlab-ci. Probably this is not a git-checkout
+    # but a dist'ed source-tree. Nothing to check.
+    exit 0
+fi
+
+if ! command -v ci-fairy &> /dev/null ; then
+    # ci-fairy not available. Cannot check.
+    exit 0
+fi
+
+
+if [ "$NM_TEST_REGENERATE" == 1 ] ; then
+    ci-fairy generate-template
+    exit 0
+fi
+
+diff "./.gitlab-ci.yml" <(ci-fairy generate-template -o /dev/stdout)