filebrowser/build/release.sh
Henrique Dias 4267ebf0b4 fix: error at first sign
License: MIT
Signed-off-by: Henrique Dias <hacdias@gmail.com>

Former-commit-id: 649162e55f57817c6e2fd8cb66fb4de1ada68199 [formerly fe5e1f6df6320c2eb6f24ca64ebffd6cedf6659b] [formerly 2f6eea9879c754d67acdf8f0809dd9c39cc12df0 [formerly 4470e0b4500f059ac23bf02b13c632d68aeb3fb2]]
Former-commit-id: 3a3500d1492db1ca7c262c60390452892fccb97b [formerly 2ea468347c670e8dfeda99be204e0b22072ea9c5]
Former-commit-id: be6a317810a0a465db2e852c6839308bf4d346ad
2018-08-06 20:53:48 +01:00

56 lines
1.1 KiB
Bash

#!/bin/bash
set -e
cd $(dirname $0)/..
echo "> Checking semver format"
if [ $# -ne 1 ]; then
echo "This release script requires a single argument corresponding to the semver to be released. See semver.org"
exit 1
fi
semver=$(grep -P '^v(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)' <<< "$1")
if [ $? -ne 0 ]; then
echo "Not valid semver format. See semver.org"
exit 1
fi
echo "> Checking matching $semver in frontend submodule"
cd frontend
git fetch --all
if [ $(git tag | grep "$semver" | wc -l) -eq 0 ]; then
echo "Tag $semver does not exist in submodule 'frontend'. Tag it and run this script again."
exit 1
fi
git rev-parse --verify --quiet release
if [ $? -ne 0 ]; then
git checkout -b release "$semver"
else
git checkout release
git reset --hard "$semver"
fi
cd ..
echo "> Updating submodule ref to $semver"
sed -i "s|(untracked)|$1|g" filebrowser.go
git commit -am "chore: version $semver"
git tag "$1"
git push
git push --tags
echo "> Commiting untracked version notice..."
sed -i "s|$1|(untracked)|g" filebrowser.go
git commit -am "chore: setting untracked version [ci skip]"
git push
echo "> Done!"