diff options
| author | Ruben Beltran del Rio <git@r.bdr.sh> | 2025-07-08 12:09:10 +0200 |
|---|---|---|
| committer | Ruben Beltran del Rio <git@r.bdr.sh> | 2025-07-08 12:09:10 +0200 |
| commit | 8f6da65a680cdd30ec541b3b226137004a1e4681 (patch) | |
| tree | da4340c5334c9518756145365e77304f9356353a /scripts | |
| parent | 3cca7e9f25166c995a9b9b7bca5beb20be969ac7 (diff) | |
Notarize, sign and wishlist
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/notarize.sh | 18 | ||||
| -rwxr-xr-x | scripts/sign.sh | 35 | ||||
| -rwxr-xr-x | scripts/upload.sh | 32 |
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 |