diff --git a/build/release.sh b/build/release.sh new file mode 100644 index 00000000..1d4b831b --- /dev/null +++ b/build/release.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +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 + +trash=$(git tag | grep "$semver") +if [ $? -ne 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!" diff --git a/publish.sh b/publish.sh deleted file mode 100644 index 660ce463..00000000 --- a/publish.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash -set -e - -cd $(dirname $0) - -echo "Building assets" -./build/build_assets.sh - -echo "Updating version number to $1..." -sed -i "s|(untracked)|$1|g" filebrowser.go -git add -A -git commit -m "chore: version $1" -git tag "v$1" -git push -git push --tags - -echo "Commiting untracked version notice..." -sed -i "s|$1|(untracked)|g" filebrowser.go -git add -A -git commit -m "chore: setting untracked version [ci skip]" -git push - -echo "Done!"