ThinkAdmin/.github/release.sh
2024-08-07 23:02:21 +08:00

53 lines
978 B
Bash

#!/usr/bin/env bash
set -e
if (( "$#" == 0 ))
then
echo "Tag has to be provided"
exit 1
fi
NOW=$(date +%s)
CURRENT_BRANCH=$(git rev-parse --abbrev-ref HEAD)
VERSION=$1
BASEPATH=$(cd `dirname $0`; cd ../plugin/; pwd)
# Always prepend with "v"
#if [[ $VERSION != v* ]]
#then
# VERSION="v$VERSION"
#fi
if [ -z $2 ] ; then
repos=$(ls $BASEPATH)
else
repos=${@:2}
fi
for REMOTE in $repos
do
echo ""
echo ""
echo "Cloning $REMOTE";
TMP_DIR="/tmp/ThinkAdminSplit"
REMOTE_URL="git@github.com:zoujingli/$REMOTE.git"
rm -rf $TMP_DIR;
mkdir $TMP_DIR;
(
cd $TMP_DIR;
git clone $REMOTE_URL .
git checkout "$CURRENT_BRANCH";
if [[ $(git log --pretty="%d" -n 1 | grep tag --count) -eq 0 ]]; then
echo "Releasing $REMOTE"
git tag $VERSION
git push origin --tags
fi
)
done
TIME=$(echo "$(date +%s) - $NOW" | bc)
printf "Execution time: %f seconds" $TIME