summaryrefslogtreecommitdiff
path: root/tools/check-gitlab-ci.sh
blob: 8ad0fbb26811ec8fe3ac4a741b04bde72029d222 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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)