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
If you download a release `.pkg` from GitHub instead of building locally, note the current distribution status:
78
+
79
+
- local `dist/` exists only in your working copy or CI workspace after `make package`
80
+
- GitHub Release assets are separate downloaded files and do not appear in your local `dist/`
81
+
- unsigned / non-notarized downloaded packages can be blocked by Gatekeeper on macOS
82
+
77
83
The smoke script verifies:
78
84
79
85
- package path resolution and signature policy
@@ -110,6 +116,28 @@ rehash
110
116
111
117
This `.pkg` is the primary release artifact built by CI.
112
118
119
+
## Downloaded Release Packages
120
+
121
+
If macOS blocks an already-downloaded release package with "Apple could not verify it", the package is not notarized yet.
122
+
123
+
If you trust the release and want to install it manually, remove the quarantine attribute and open it again:
124
+
125
+
```sh
126
+
PKG="$(ls -1t ~/Downloads/DevStackMenu-*.pkg | head -n 1)"
127
+
xattr -dr com.apple.quarantine "$PKG"
128
+
open "$PKG"
129
+
```
130
+
131
+
Or install directly without Finder:
132
+
133
+
```sh
134
+
PKG="$(ls -1t ~/Downloads/DevStackMenu-*.pkg | head -n 1)"
135
+
xattr -dr com.apple.quarantine "$PKG"
136
+
sudo installer -pkg "$PKG" -target /
137
+
```
138
+
139
+
If you want Gatekeeper-friendly installs without removing quarantine manually, the release must be signed with Developer ID Installer and notarized. The repository already contains the pipeline hooks for that in `Scripts/sign-notarize-package.sh` and `.github/workflows/release.yml`; it only needs the Apple signing/notarization secrets configured.
140
+
113
141
## What It Does
114
142
115
143
- shows the current active profile, managed runtime, tunnel state, Docker context and compact metrics in the macOS menu bar
8. Verify the main app and compose-import helper use distinct bundle identifiers in the built artifacts.
30
30
9. Verify single-instance behavior by launching the installed app twice and confirming the second launch exits while the original instance stays alive.
31
31
10. If signing credentials are configured, run `workflow_dispatch` on Release Artifacts for signed/notarized output.
32
+
11. If signing credentials are not configured, expect downloaded GitHub Release `.pkg` files to be blocked by Gatekeeper until the user removes `com.apple.quarantine` manually.
32
33
33
34
## GitHub Release Flow
34
35
35
36
The repository includes a workflow that builds a `.pkg` artifact, uploads it as a workflow artifact, and attaches it to the GitHub release for the tag on push/tag events.
36
37
Signed/notarized output is optional and driven by workflow secrets.
38
+
Without these secrets, GitHub Release assets remain unsigned and non-notarized, which is acceptable for maintainer testing but not a polished public install flow.
37
39
38
40
To enable signing/notarization on `workflow_dispatch`, configure:
39
41
@@ -54,3 +56,10 @@ v0.1.1
54
56
55
57
- Artifacts are unsigned by default.
56
58
-`make install-local` is a convenience for maintainers and local users; it is not a substitute for a signed distribution flow.
59
+
- For a downloaded unsigned package, the current manual bypass is:
60
+
61
+
```sh
62
+
PKG="$(ls -1t ~/Downloads/DevStackMenu-*.pkg | head -n 1)"
0 commit comments