#!/bin/bash
#
# usage: add_gitlab_ci <release>
#
GITROOT=${GITROOT:-https://:@gitlab.cern.ch:8443/atlas-tdaq-software}
TAGCOLLECTOR=${TAGCOLLECTOR:-/afs/cern.ch/atlas/project/tdaq/cmt/adm/packages}

if [ $# -lt 1 ]; then
   echo "usage: $0 <release>"
   exit 1
fi           

release=$1
shift

case ${release} in
    tdaq-common-*)
        project=tdaq-common
        ;;
    dqm-common-*)
        project=dqm-common
        ;;
    *)
        project=tdaq
        ;;
esac

if [ ! -d ${TAGCOLLECTOR}/${project}/${release} ]; then
    echo "No such release: ${release}"
fi

if [ ! -f gitlab-ci.yml.template ]; then
    echo "No template file: gitlab-ci.yml.template"
    exit 1
fi

gitlabfile=$(mktemp)
sed "s;@RELEASE@;${release};" gitlab-ci.yml.template > ${gitlabfile}

tmpdir=$(mktemp -d)
cd ${tmpdir}

for f in $(ls ${TAGCOLLECTOR}/${project}/${release})
do
    pkg=$(basename $f)
    getpkg ${pkg}
    if [ -f ${pkg}/.gitlab-ci.yml ]; then
        echo "$pkg -> Skipping"
        rm -rf ${pkg}
    else
        echo "${pkg}"
        cp ${gitlabfile} ${pkg}/.gitlab-ci.yml
        (cd ${pkg} && git checkout -q master && git commit -qm "Adding .gitlab-ci.yml" && git push origin master)
        # (cd ${pkg} && git checkout -q master && git add .gitlab-ci.yml && git commit -qm "Adding .gitlab-ci.yml" )
    fi
    rm -rf ${pkg}
done

rm -f ${gitlabfile}
rm -rf ${tmpdir}
