You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(sign): gon is gone, and the macOS bundle steps no longer run for every stack
Two things, and the second is why macOS was red across four unrelated stacks.
gon has been unmaintained since 2022. It did two jobs here: drive codesign
from a JSON file, and notarise. codesign is the thing it wrapped, so calling
it directly loses nothing and removes a dependency and two config files.
notarytool is Apple's supported replacement and staples the ticket, so an app
validates on first launch without a network round trip. Notarisation stays
opt-in because it needs an Apple ID and team ID that a build otherwise does
not; signing itself does not change shape.
--deep is deliberately absent from the codesign call: Apple deprecated it, and
nested code — Sparkle being the example already in this repository — wants
signing individually anyway.
The `Build .app zip file` step was gated on `runner.os == 'macOS'` and nothing
else. Harmless while every stack was Wails and every macOS build produced a
bundle. The go, cpp and deno stacks produce a binary and no bundle, so on
macOS the step asked ditto for a .app that never existed and took the job with
it — one ungated step showing up as four different stacks failing. It and the
two productbuild steps now skip with a notice when there is no bundle, which is
a fact about the stack rather than an error.
Also: the options matrix assertion read BUILD_OPTIONS by interpolation, and
-upxflags='--best --lzma' contains quotes that a shell assignment mangles. It
reads from env now, which is the same lesson as everywhere else.
Co-Authored-By: Virgil <virgil@lethean.io>
Copy file name to clipboardExpand all lines: actions/setup/go/action.yml
+1-4Lines changed: 1 addition & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
name: "Setup Go (and Wails)"
2
-
description: "Sets up Go (with optional cache), installs Garble when obfuscating, installs Wails CLI unless wails-dev-build is true; installs gon on macOS"
2
+
description: "Sets up Go with an optional cache, Garble when obfuscating, and the Wails v2 CLI when asked for"
Copy file name to clipboardExpand all lines: actions/sign/README.md
+3-5Lines changed: 3 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
Purpose
4
4
- Unified signing step for macOS and Windows.
5
-
- macOS: imports certificates, signs the `.app` with `gon`, zips the `.app`, builds a `.pkg` (signed or unsigned), and notarizes on tag builds.
5
+
- macOS: imports certificates, signs the `.app` with `codesign`, zips the `.app`, builds a `.pkg` (signed or unsigned), and notarises with `xcrun notarytool` when `notarize` is on. All tag-gated.
6
6
- Windows: signs the `.exe` and the NSIS installer using a provided PFX (base64) and password.
7
7
8
8
When it runs
@@ -14,7 +14,7 @@ Inputs (union of previous per-OS signers)
14
14
-`app-working-directory` (default `.`)
15
15
-`build-name` (required)
16
16
- macOS:
17
-
-`sign-macos-apple-password` — app-specific password for Apple ID (`gon` uses this)
17
+
-`sign-macos-apple-password` — app-specific password for the Apple ID (notarytool uses this)
18
18
-`sign-macos-app-id` — Developer ID Application subject
19
19
-`sign-macos-app-cert` — Base64-encoded `.p12`
20
20
-`sign-macos-app-cert-password` — Password for the Application certificate
@@ -26,8 +26,6 @@ Inputs (union of previous per-OS signers)
26
26
-`sign-windows-cert-password` — Password for the PFX
27
27
28
28
Required project files (macOS)
29
-
-`build/darwin/gon-sign.json` — config for signing the `.app`
30
-
-`build/darwin/gon-notarize.json` — config for notarizing `.pkg` and `.app.zip`
31
29
32
30
Usage
33
31
```yaml
@@ -51,6 +49,6 @@ Usage
51
49
```
52
50
53
51
Notes
54
-
- On macOS, `gon` must be installed (`actions/setup/go` installs it automatically on macOS).
52
+
- On macOS, `codesign` and `xcrun notarytool` come with the Xcode command line tools, which GitHub's macOS runners have.
55
53
- The `.app` zip is produced regardless of signing to ease distribution.
56
54
- Installer `.pkg` is signed when `sign == 'true'` and an installer ID is provided; otherwise an unsigned pkg is built on tags.
0 commit comments