diff --git a/build_sign.sh b/build_sign.sh
new file mode 100644
index 00000000..c051004d
--- /dev/null
+++ b/build_sign.sh
@@ -0,0 +1,63 @@
+#!/bin/bash
+set -euo pipefail
+
+MIN_SDK=24
+github_url="https://api.github.com/repos/dekusms/DekuSMS-Android/releases"
+
+python3 -m venv venv
+{
+ source venv/bin/activate
+ pip install -r requirements.txt
+ ./bump_version.py "$(git symbolic-ref HEAD)"
+}
+
+tagVersion=$(sed -n '5p' version.properties | cut -d "=" -f 2)
+label=$(sed -n '4p' version.properties | cut -d "=" -f 2)
+branch=$(git symbolic-ref HEAD | cut -d "/" -f 3)
+track=$(python3 track.py "$branch")
+
+git tag -f "${tagVersion}"
+
+./gradlew clean assembleRelease
+apksigner sign --ks app/keys/app-release-key.jks \
+ --ks-pass pass:"$1" \
+ --in app/build/outputs/apk/release/app-release-unsigned.apk \
+ --out apk-outputs/"$label".apk
+
+./gradlew clean assembleRelease
+apksigner sign --ks app/keys/app-release-key.jks \
+ --ks-pass pass:"$1" \
+ --in app/build/outputs/apk/release/app-release-unsigned.apk \
+ --out app/build/outputs/apk/release/"$label".apk
+
+# This will now stop the script immediately if diffoscope fails
+diffoscope apk-outputs/"$label".apk app/build/outputs/apk/release/"$label".apk
+rm apk-outputs/"$label".apk
+
+./gradlew assemble bundleRelease
+apksigner sign --ks app/keys/app-release-key.jks \
+ --ks-pass pass:"$1" \
+ --in app/build/outputs/bundle/release/app-release.aab \
+ --out app/build/outputs/bundle/release/app-bundle.aab \
+ --min-sdk-version "$MIN_SDK"
+
+git push origin "$branch"
+git push --tag
+
+python3 -m venv venv
+{
+ source venv/bin/activate
+ pip install -r requirements.txt
+ python3 release.py \
+ --version_code "${tagVersion}" \
+ --version_name "${label}" \
+ --description "Release: ${label}
Build No: ${tagVersion}
shasum: $(shasum apk-outputs/${label}.apk)" \
+ --branch "${branch}" \
+ --track "${track}" \
+ --app_bundle_file app/build/outputs/bundle/release/app-bundle.aab \
+ --app_apk_file app/build/outputs/apk/release/"${label}".apk \
+ --status "completed" \
+ --platforms "all" \
+ --github_url "${github_url}"
+}
+