summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/release.yml23
-rwxr-xr-xos/macosx/notarize.sh10
2 files changed, 33 insertions, 0 deletions
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 81d3cd5b9..08babe0ae 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -496,6 +496,29 @@ jobs:
cd build-x64
../os/macosx/notarize.sh
+ - name: Build zip
+ run: |
+ cd build-x64
+
+ pushd _CPack_Packages/*/Bundle/openttd-*/
+
+ # Remove the Applications symlink from the staging folder
+ rm -f Applications
+
+ # Remove the original dmg built by CPack to avoid a conflict when resolving
+ # the zip_filename variable below
+ rm -f ../*.dmg
+
+ zip_filename=(../openttd-*)
+
+ # Package up the existing, notarised .app into a zip file
+ zip -r -9 ${zip_filename}.zip OpenTTD.app
+
+ popd
+
+ # Now move it into place to be uploaded
+ mv _CPack_Packages/*/Bundle/openttd-*.zip bundles/
+
- name: Store bundles
uses: actions/upload-artifact@v2
with:
diff --git a/os/macosx/notarize.sh b/os/macosx/notarize.sh
index 3434c3125..55405cdd8 100755
--- a/os/macosx/notarize.sh
+++ b/os/macosx/notarize.sh
@@ -56,3 +56,13 @@ cat <<EOF > notarize.json
EOF
gon notarize.json
+
+app_filename=(_CPack_Packages/*/Bundle/openttd-*/OpenTTD.app)
+
+if [ "${app_filename}" = "_CPack_Packages/*/Bundle/openttd-*/OpenTTD.app" ]; then
+ echo "No .app found in the _CPack_Packages directory, skipping stapling."
+ exit 0
+fi;
+
+# Now staple the ticket to the .app
+xcrun stapler staple "${app_filename[0]}"