[Project] creating release script
This commit is contained in:
parent
434487235a
commit
15f4dab2f5
|
@ -1 +1 @@
|
||||||
Subproject commit dc3beef5bfb45608217914e4bc1a45e2935f3dd3
|
Subproject commit 8498efc8fe502250ea089cd71c5523b2477c8d56
|
|
@ -1 +1 @@
|
||||||
Subproject commit a70b4309860cd3da8f22b20b4589973c115bb238
|
Subproject commit c8816472fcd89225178b66fad782ad49f83f181d
|
|
@ -1 +1 @@
|
||||||
Subproject commit 54092c87d4a5e3eaf0c4cae894367cfafaecad15
|
Subproject commit afcb7c41fc57548f76857a4dd2b868ca0d5b042b
|
|
@ -1 +1 @@
|
||||||
Subproject commit cf1a6135350c6097aad14bfc98a93fdfe5f4d697
|
Subproject commit c3fe4bdec64d1eb56c28f9df0e19a7c7bbc570c7
|
|
@ -0,0 +1,148 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
function usage() {
|
||||||
|
echo "Usage: $0 [-c] [-r <release_branch>] [-b <branch>] [-o <old_version>] [-n <new_version>]" 1>&2;
|
||||||
|
exit 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
while getopts ":b:o:n:r:c" arg; do
|
||||||
|
case "${arg}" in
|
||||||
|
c)
|
||||||
|
c="true"
|
||||||
|
;;
|
||||||
|
r)
|
||||||
|
r=${OPTARG}
|
||||||
|
;;
|
||||||
|
b)
|
||||||
|
b=${OPTARG}
|
||||||
|
;;
|
||||||
|
o)
|
||||||
|
o=${OPTARG}
|
||||||
|
;;
|
||||||
|
n)
|
||||||
|
n=${OPTARG}
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "ERROR: Unknown arg ${arg}"
|
||||||
|
usage
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
shift $((OPTIND-1))
|
||||||
|
|
||||||
|
if [ -z "${r}" ] || [ -z "${b}" ] || [ -z "${o}" ] || [ -z "${n}" ] ; then
|
||||||
|
echo "ERROR: Missing an argument!"
|
||||||
|
usage
|
||||||
|
fi
|
||||||
|
|
||||||
|
#if [ "$(git status --short)" != "" ] ; then
|
||||||
|
# echo "You have uncommitted changes!"
|
||||||
|
# exit 1
|
||||||
|
#fi
|
||||||
|
|
||||||
|
create_release_branch="${c}"
|
||||||
|
release_branch="${r}"
|
||||||
|
branch="${b}"
|
||||||
|
old_version="${o}"
|
||||||
|
new_version="${n}"
|
||||||
|
|
||||||
|
root="${PWD}"
|
||||||
|
|
||||||
|
echo "old_version=${old_version}"
|
||||||
|
echo "new_version=${new_version}"
|
||||||
|
echo "branch=${branch}"
|
||||||
|
echo "release_branch=${release_branch}"
|
||||||
|
if [ -n "${create_release_branch}" ] ; then
|
||||||
|
echo "Creating release branch."
|
||||||
|
else
|
||||||
|
echo "NOT creating release branch."
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit
|
||||||
|
|
||||||
|
function fail() {
|
||||||
|
git submodule foreach git reset --hard origin/${branch}
|
||||||
|
git submodule foreach git checkout ${branch}
|
||||||
|
if [ -n "${create_release_branch}" ] ; then
|
||||||
|
git submodule foreach git branch -d ${release_branch}
|
||||||
|
fi
|
||||||
|
git submodule foreach git tag -d ${new_version}
|
||||||
|
|
||||||
|
git checkout ${branch}
|
||||||
|
git reset --hard origin/${branch}
|
||||||
|
git branch -d ${release_branch}
|
||||||
|
git tag -d ${new_version}
|
||||||
|
|
||||||
|
echo -e "\nERROR: Failed to release version ${new_version}"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# create release branch
|
||||||
|
if [ -n "${create_release_branch}" ] ; then
|
||||||
|
if ! git branch ${release_branch} ${branch} ; then
|
||||||
|
fail
|
||||||
|
fi
|
||||||
|
if ! git submodule foreach git branch ${release_branch} ${branch} ; then
|
||||||
|
fail
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# checkout release branch
|
||||||
|
if ! git checkout ${release_branch} ; then
|
||||||
|
fail
|
||||||
|
fi
|
||||||
|
if ! git submodule foreach git checkout ${release_branch} ; then
|
||||||
|
fail
|
||||||
|
fi
|
||||||
|
|
||||||
|
# bump version
|
||||||
|
if ! ./setVersion.sh ${old_version} ${new_version} ; then
|
||||||
|
fail
|
||||||
|
fi
|
||||||
|
|
||||||
|
# show status
|
||||||
|
if ! git status --short ; then
|
||||||
|
fail
|
||||||
|
fi
|
||||||
|
if ! git submodule foreach git status --short ; then
|
||||||
|
fail
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Do you want to carry on?"
|
||||||
|
read
|
||||||
|
|
||||||
|
if ! git submodule foreach git add . ; then
|
||||||
|
fail
|
||||||
|
fi
|
||||||
|
if ! git submodule foreach git commit -m "[Project] bumped version from ${old_version} to ${new_version}" ; then
|
||||||
|
fail
|
||||||
|
fi
|
||||||
|
if ! git submodule foreach git tag ${new_version} ; then
|
||||||
|
fail
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! git submodule sync ; then
|
||||||
|
fail
|
||||||
|
fi
|
||||||
|
if ! git add . ; then
|
||||||
|
fail
|
||||||
|
fi
|
||||||
|
if ! git commit -m "[Project] bumped version from ${old_version} to ${new_version}" ; then
|
||||||
|
fail
|
||||||
|
fi
|
||||||
|
if ! git tag ${new_version} ; then
|
||||||
|
fail
|
||||||
|
fi
|
||||||
|
|
||||||
|
git submodule foreach git checkout ${branch}
|
||||||
|
if [ -n "${create_release_branch}" ] ; then
|
||||||
|
git submodule foreach git branch -d ${release_branch}
|
||||||
|
fi
|
||||||
|
git checkout ${branch}
|
||||||
|
if [ -n "${create_release_branch}" ] ; then
|
||||||
|
git branch -d ${release_branch}
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -e "\nINFO: Released version ${new_version}"
|
||||||
|
|
||||||
|
exit 0
|
|
@ -20,7 +20,7 @@ new_version="$2"
|
||||||
root="${PWD}"
|
root="${PWD}"
|
||||||
|
|
||||||
function fail() {
|
function fail() {
|
||||||
echo "ERROR: Failed to set version of $1"
|
echo -e "\nERROR: Failed to set version of $1"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -78,3 +78,7 @@ cd "${root}"
|
||||||
if ! sed --in-place "s/${old_version}/${new_version}/" li.strolch.dev/createBundle.sh 2>/dev/null ; then
|
if ! sed --in-place "s/${old_version}/${new_version}/" li.strolch.dev/createBundle.sh 2>/dev/null ; then
|
||||||
fail "${root}/li.strolch.dev/createBundle.sh"
|
fail "${root}/li.strolch.dev/createBundle.sh"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
echo -e "\nINFO: Bumped version from ${old_version} to ${new_version}"
|
||||||
|
|
||||||
|
exit 0
|
Loading…
Reference in New Issue