summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjwijenbergh <jeroenwijenbergh@protonmail.com>2023-10-25 16:20:39 +0200
committerjwijenbergh <jeroenwijenbergh@protonmail.com>2024-03-07 14:34:07 +0100
commit5cb4db72f3168d111b44c599cf09aa8612493ba1 (patch)
treee22cc4b836d4f606188a99598e05386aa8398f46
parenta76f86164aecd7adfdca373b044ba250acbd58b2 (diff)
Prepare release: Initial script
-rwxr-xr-xprepare_release.sh54
1 files changed, 54 insertions, 0 deletions
diff --git a/prepare_release.sh b/prepare_release.sh
new file mode 100755
index 0000000..7ee8281
--- /dev/null
+++ b/prepare_release.sh
@@ -0,0 +1,54 @@
+#!/bin/sh
+
+set -e
+
+PROJECT_VERSION="$1"
+
+if [ -z "$1" ]; then
+ echo "No version supplied"
+ exit 1
+fi
+
+if ! command -v "black" &>/dev/null; then
+ echo "please install black for formatting the python wrapper"
+ exit 1
+fi
+
+if ! command -v "gofumpt" &>/dev/null; then
+ echo "please install gofumpt for formatting the go code"
+ exit 1
+fi
+
+if [ "$(git tag -l "${PROJECT_VERSION}")" ]; then
+ echo "Version: ${PROJECT_VERSION} already has a tag"
+ exit 1
+fi
+
+# First check if th
+if [[ $(git diff) ]]; then
+ echo "There are changes, commit them before releasing"
+ exit 1
+fi
+
+# Format all go files
+git ls-files | grep '.go$' | xargs -I {} gofumpt -w {} >/dev/null
+if [[ $(git diff) ]]; then
+ git add -u
+ git commit -m "Format: Run Gofumpt"
+fi
+
+# Format all Python files
+git ls-files | grep '.py$' | xargs -I {} black --quiet {} >/dev/null
+if [[ $(git diff) ]]; then
+ git add -u
+ git commit -m "Format: Run Black"
+fi
+
+# Replace version number
+# replace in internal/version
+sed -i "s/const Version = ".*"/const Version = \"${PROJECT_VERSION}\"/" internal/version/version.go
+sed -i "s/__version__ = ".*"/__version__ = \"${PROJECT_VERSION}\"/" wrappers/python/setup.py
+sed -i "s/__version__ = ".*"/__version__ = \"${PROJECT_VERSION}\"/" wrappers/python/eduvpn_common/__init__.py
+
+git add -u
+git commit -m "Version: Update to ${PROJECT_VERSION}"