From 9108b6335546e9c42e3e4c19afc247578f8b9266 Mon Sep 17 00:00:00 2001
From: Michael Clark <5285928+MikesGlitch@users.noreply.github.com>
Date: Thu, 22 Aug 2024 17:43:51 +0100
Subject: [PATCH] :electron: Notarize the mac desktop app (#3300)

* adding notarization stuff back in

* win csc settings so win build doesnt try to sign with mac stuff

* windows doesnt need to know about mac build

* teamid env var instead of config val as per docs

* for testing purposes only

* probably wont work

* yet, didnt work

* try this

* update notarize

* removing test code

* add release notes
---
 .github/workflows/electron-master.yml  | 10 +++++++---
 packages/desktop-electron/package.json |  2 +-
 upcoming-release-notes/3300.md         |  6 ++++++
 yarn.lock                              | 18 +++++++++---------
 4 files changed, 23 insertions(+), 13 deletions(-)
 create mode 100644 upcoming-release-notes/3300.md

diff --git a/.github/workflows/electron-master.yml b/.github/workflows/electron-master.yml
index 633a48cff..a75110428 100644
--- a/.github/workflows/electron-master.yml
+++ b/.github/workflows/electron-master.yml
@@ -48,13 +48,17 @@ jobs:
           sudo flatpak install org.electronjs.Electron2.BaseApp/x86_64/23.08 -y
       - name: Set up environment
         uses: ./.github/actions/setup
-      - name: Build Electron
+      - name: Build Electron for Mac
+        if: ${{ startsWith(matrix.os, 'macos') }}
         run: ./bin/package-electron
         env:
-          # CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }}
-          # CSC_LINK: ${{ secrets.CSC_LINK }}
+          CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }}
+          CSC_LINK: ${{ secrets.CSC_LINK }}
           APPLE_ID: ${{ secrets.APPLE_ID }}
           APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }}
+      - name: Build Electron
+        if: ${{ ! startsWith(matrix.os, 'macos') }}
+        run: ./bin/package-electron
       - name: Upload Build
         uses: actions/upload-artifact@v4
         with:
diff --git a/packages/desktop-electron/package.json b/packages/desktop-electron/package.json
index ff978f251..49d3f64c6 100644
--- a/packages/desktop-electron/package.json
+++ b/packages/desktop-electron/package.json
@@ -93,7 +93,7 @@
     "promise-retry": "^2.0.1"
   },
   "devDependencies": {
-    "@electron/notarize": "2.2.0",
+    "@electron/notarize": "2.4.0",
     "@electron/rebuild": "3.6.0",
     "@types/copyfiles": "^2",
     "copyfiles": "^2.4.1",
diff --git a/upcoming-release-notes/3300.md b/upcoming-release-notes/3300.md
new file mode 100644
index 000000000..36eb58a28
--- /dev/null
+++ b/upcoming-release-notes/3300.md
@@ -0,0 +1,6 @@
+---
+category: Maintenance
+authors: [MikesGlitch]
+---
+
+Sign the Mac desktop app to resolve damaged file errors
diff --git a/yarn.lock b/yarn.lock
index 1887e5766..179f6284b 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1568,25 +1568,25 @@ __metadata:
   languageName: node
   linkType: hard
 
-"@electron/notarize@npm:2.2.0":
-  version: 2.2.0
-  resolution: "@electron/notarize@npm:2.2.0"
+"@electron/notarize@npm:2.2.1":
+  version: 2.2.1
+  resolution: "@electron/notarize@npm:2.2.1"
   dependencies:
     debug: "npm:^4.1.1"
     fs-extra: "npm:^9.0.1"
     promise-retry: "npm:^2.0.1"
-  checksum: 10/31639c9ee54d5ff2be7882c24916716b678b3c931b90cdea359262826b643c4291853cbaba8ecfc7cfddd75331117ef120fbd9c6a7b87c7d099ad54b6a2b0427
+  checksum: 10/6d5bb78a0ba0af59a07daf01ace17a33869893641639c94d0f74ca060698d8cf61fca4002c61592a70f6f20e03987fc1138625853d947394749b1bd46ed2db3c
   languageName: node
   linkType: hard
 
-"@electron/notarize@npm:2.2.1":
-  version: 2.2.1
-  resolution: "@electron/notarize@npm:2.2.1"
+"@electron/notarize@npm:2.4.0":
+  version: 2.4.0
+  resolution: "@electron/notarize@npm:2.4.0"
   dependencies:
     debug: "npm:^4.1.1"
     fs-extra: "npm:^9.0.1"
     promise-retry: "npm:^2.0.1"
-  checksum: 10/6d5bb78a0ba0af59a07daf01ace17a33869893641639c94d0f74ca060698d8cf61fca4002c61592a70f6f20e03987fc1138625853d947394749b1bd46ed2db3c
+  checksum: 10/fe97ac96e6cc93dae2cd5095bd157f5d9cb49c1a9606f0cb06216518e1c15fcfa76923de3d541544b63c5ff985c1ae43065453197a284352df95599e635877ac
   languageName: node
   linkType: hard
 
@@ -8354,7 +8354,7 @@ __metadata:
   version: 0.0.0-use.local
   resolution: "desktop-electron@workspace:packages/desktop-electron"
   dependencies:
-    "@electron/notarize": "npm:2.2.0"
+    "@electron/notarize": "npm:2.4.0"
     "@electron/rebuild": "npm:3.6.0"
     "@types/copyfiles": "npm:^2"
     copyfiles: "npm:^2.4.1"
-- 
GitLab