summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOwen Rudge <owen@owenrudge.net>2021-01-28 12:54:56 +0000
committerOwen Rudge <owen@owenrudge.net>2021-01-28 19:15:36 +0000
commit1187dc3217417d5cdc4f686b8ea2c0bae9afd99f (patch)
tree63673a27686ec77970beea2b63028ba0da3c43de
parent3dac139b005f41e8d8e1026f08dcffdf466aad54 (diff)
downloadopenttd-1187dc3217417d5cdc4f686b8ea2c0bae9afd99f.tar.xz
Feature: [Actions] Create .zip for macOS build
-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]}"