filebrowser/build/release.sh
1138-4EB c163318ce5 chore: make release.sh executable, update frontend
Former-commit-id: 239ec73aad2905eb0ffaf2318b1f6166bb910da1 [formerly 723297d061329c46876a4bfc534c1bd83a1249a4] [formerly 0293f9a819d58f62b00c51894bb7e33d0af9cab9 [formerly 0854c423c3fe86d740b99b946c494230871feb14]]
Former-commit-id: 2cb8474af898a81cdcce7d6a0c109854efa7c0c9 [formerly 48013895c67ac2cb22097fb5dde040747a231dfd]
Former-commit-id: 06799635ff5acfa1a79f4c41f22b187aa92b2b98
2018-08-16 04:30:28 +01:00

56 lines
1.1 KiB
Bash
Executable File

#!/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!"