aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorRuben Beltran del Rio <git@r.bdr.sh>2025-07-08 12:09:10 +0200
committerRuben Beltran del Rio <git@r.bdr.sh>2025-07-08 12:09:10 +0200
commit8f6da65a680cdd30ec541b3b226137004a1e4681 (patch)
treeda4340c5334c9518756145365e77304f9356353a /scripts
parent3cca7e9f25166c995a9b9b7bca5beb20be969ac7 (diff)
Notarize, sign and wishlist
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/notarize.sh18
-rwxr-xr-xscripts/sign.sh35
-rwxr-xr-xscripts/upload.sh32
3 files changed, 85 insertions, 0 deletions
diff --git a/scripts/notarize.sh b/scripts/notarize.sh
new file mode 100755
index 0000000..dc462a2
--- /dev/null
+++ b/scripts/notarize.sh
@@ -0,0 +1,18 @@
+#!/usr/bin/env bash
+
+set -e
+
+
+if [ "$#" -ne 2 ]; then
+ echo "Usage: $0 <project_name> <build_directory>"
+ exit 1
+fi
+
+project_name="$1"
+build_directory="$2"
+
+app_path="${build_directory}/${project_name}.app"
+app_version=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" ${app_path}/Contents/Info.plist)
+dmg_path="${build_directory}/${project_name}-${app_version}.dmg"
+xcrun notarytool submit ${dmg_path} --wait --verbose --keychain-profile "Apps @ Unlimited Pizza"
+stapler staple "${app_path}"
diff --git a/scripts/sign.sh b/scripts/sign.sh
new file mode 100755
index 0000000..7531ee7
--- /dev/null
+++ b/scripts/sign.sh
@@ -0,0 +1,35 @@
+#!/usr/bin/env bash
+
+set -e
+
+if [ "$#" -ne 2 ]; then
+ echo "Usage: $0 <project_name> <build_directory>"
+ exit 1
+fi
+
+project_name="$1"
+build_directory="$2"
+
+app_path="${build_directory}/${project_name}.app"
+app_version=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" ${app_path}/Contents/Info.plist)
+build_number=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" ${app_path}/Contents/Info.plist)
+dmg_path="${build_directory}/${project_name}-${app_version}.dmg"
+
+COMMENT="Version: ${app_version}, File: $(basename ${dmg_path}) Built on: $(date +'%Y-%m-%d %H:%M')"
+
+if [ -f ~/.minisign/minisign.pass ]; then
+ cat ~/.minisign/minisign.pass | minisign -Sm "${dmg_path}" -t "${COMMENT}"
+else
+ minisign -Sm "${dmg_path}" -t "${COMMENT}"
+fi
+
+for delta_file in "${build_directory}/${project_name}${build_number}"-*.delta; do
+ if [ -f "$delta_file" ]; then
+ COMMENT="Version: ${app_version}, File: $(basename ${delta_file}) Built on: $(date +'%Y-%m-%d %H:%M')"
+ if [ -f ~/.minisign/minisign.pass ]; then
+ cat ~/.minisign/minisign.pass | minisign -Sm "${dmg_path}" -t "${COMMENT}"
+ else
+ minisign -Sm "${delta_file}" -t "${COMMENT}"
+ fi
+ fi
+done
diff --git a/scripts/upload.sh b/scripts/upload.sh
new file mode 100755
index 0000000..53c45b4
--- /dev/null
+++ b/scripts/upload.sh
@@ -0,0 +1,32 @@
+#!/usr/bin/env bash
+
+set -e
+
+
+if [ "$#" -ne 3 ]; then
+ echo "Usage: $0 <project_name> <build_directory> <upload_location>"
+ exit 1
+fi
+
+project_name="$1"
+build_directory="$2"
+upload_location="$3"
+
+app_path="${build_directory}/${project_name}.app"
+app_version=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" ${app_path}/Contents/Info.plist)
+build_number=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" ${app_path}/Contents/Info.plist)
+dmg_path="${build_directory}/${project_name}-${app_version}.dmg"
+
+echo "Uploading ${dmg_path} to ${upload_location}"
+rsync -avz "${dmg_path}" "${upload_location}"
+rsync -avz "${dmg_path}".minisig "${upload_location}"
+
+for delta_file in "${build_directory}/${project_name}${build_number}"-*.delta; do
+ if [ -f "$delta_file" ]; then
+ echo "Uploading ${delta_file} to ${upload_location}"
+ rsync -avz "$delta_file" "${upload_location}"
+ if [ -f "${delta_file}.minisig" ]; then
+ rsync -avz "${delta_file}.minisig" "${upload_location}"
+ fi
+ fi
+done