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
**Note:** Native modules for the DMG maker are automatically compiled via the `prePackage` hook. If you need to manually rebuild them, run:
53
-
54
-
```bash
55
-
pnpm build-native
56
-
```
57
-
58
-
### Auto Updates & Releases
59
-
60
-
Array uses Electron's built-in `autoUpdater` pointed at the public `update.electronjs.org` service for `PostHog/Array`. Every time a non-draft GitHub release is published with the platform archives, packaged apps will automatically download and install the newest version on macOS and Windows.
61
-
62
-
Publishing a new release:
63
-
64
-
1. Export a GitHub token with `repo` scope as `GH_PUBLISH_TOKEN`; set both `GH_TOKEN` and `GITHUB_TOKEN` to its value locally (e.g., in `.envrc`). In GitHub, store the token as the `GH_PUBLISH_TOKEN` repository secret.
65
-
2. Run `pnpm run make` locally to sanity check artifacts, then bump `package.json`'s version (e.g., `pnpm version patch`).
66
-
3. Merge the version bump into `main`. The `Publish Release` GitHub Action auto-detects the new version, tags `vX.Y.Z`, runs `pnpm run publish`, and uploads the release artifacts. You can also run the workflow manually (`workflow_dispatch`) and supply a tag if you need to re-publish.
67
-
68
-
Set `ELECTRON_DISABLE_AUTO_UPDATE=1` if you ever need to ship a build with auto updates disabled.
69
-
70
35
### Liquid Glass Icon (macOS 26+)
71
36
72
37
The app supports macOS liquid glass icons for a modern, layered appearance. The icon configuration is in `build/icon.icon/`.
**Note:** Native modules for the DMG maker are automatically compiled via the `prePackage` hook. If you need to manually rebuild them, run:
110
+
111
+
```bash
112
+
pnpm build-native
113
+
```
114
+
115
+
### Auto Updates & Releases
116
+
117
+
Array uses Electron's built-in `autoUpdater` pointed at the public `update.electronjs.org` service for `PostHog/Array`. Every time a non-draft GitHub release is published with the platform archives, packaged apps will automatically download and install the newest version on macOS and Windows.
118
+
119
+
Publishing a new release:
120
+
121
+
1. Export a GitHub token with `repo` scope as `GH_PUBLISH_TOKEN`; set both `GH_TOKEN` and `GITHUB_TOKEN` to its value locally (e.g., in `.envrc`). In GitHub, store the token as the `GH_PUBLISH_TOKEN` repository secret.
122
+
2. Run `pnpm run make` locally to sanity check artifacts, then bump `package.json`'s version (e.g., `pnpm version patch`).
123
+
3. Merge the version bump into `main`. The `Publish Release` GitHub Action auto-detects the new version, tags `vX.Y.Z`, runs `pnpm run publish`, and uploads the release artifacts. You can also run the workflow manually (`workflow_dispatch`) and supply a tag if you need to re-publish.
124
+
125
+
Set `ELECTRON_DISABLE_AUTO_UPDATE=1` if you ever need to ship a build with auto updates disabled.
126
+
127
+
### macOS Code Signing & Notarization
128
+
129
+
macOS packages are signed and notarized automatically when these environment variables are present:
130
+
131
+
```bash
132
+
export APPLE_CODESIGN_IDENTITY="Developer ID Application: Your Name (TEAMID)"
For CI releases, configure matching GitHub Actions secrets:
139
+
140
+
-`APPLE_CODESIGN_IDENTITY`
141
+
-`APPLE_ID`
142
+
-`APPLE_APP_SPECIFIC_PASSWORD`
143
+
-`APPLE_TEAM_ID`
144
+
-`APPLE_CODESIGN_CERT_BASE64` – Base64-encoded `.p12` export of the Developer ID Application certificate (include the private key)
145
+
-`APPLE_CODESIGN_CERT_PASSWORD` – Password used when exporting the `.p12`
146
+
-`APPLE_CODESIGN_KEYCHAIN_PASSWORD` – Password for the temporary keychain the workflow creates on the runner
147
+
148
+
The `Publish Release` workflow imports the certificate into a temporary keychain, signs each artifact with hardened runtime enabled (using Electron’s default entitlements), and notarizes it before upload whenever these secrets are available.
149
+
150
+
For local testing, copy `codesign.env.example` to `.env.codesign`, fill in the real values, and load it before running `pnpm run make`:
151
+
152
+
```bash
153
+
set -a
154
+
source .env.codesign
155
+
set +a
156
+
pnpm run make
157
+
```
158
+
159
+
Set `SKIP_NOTARIZE=1` if you need to generate signed artifacts without submitting to Apple (e.g., while debugging credentials):
0 commit comments