Skip to content

Commit 612113b

Browse files
committed
fix(ci): fail fast if Developer ID Application cert not found
The identity grep now errors immediately with a diagnostic listing of available identities instead of silently falling back to an Apple Development certificate that notarization rejects.
1 parent 581ae3d commit 612113b

17 files changed

Lines changed: 162 additions & 807 deletions

File tree

.github/workflows/dashboard-release.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,14 @@ jobs:
7474
security set-key-partition-list -S apple-tool:,apple: -k "$KEYCHAIN_PASSWORD" $KEYCHAIN_PATH
7575
security list-keychain -d user -s $KEYCHAIN_PATH
7676
77-
# Extract signing identity
77+
# Extract signing identity — MUST be "Developer ID Application", not "Apple Development"
7878
IDENTITY=$(security find-identity -v -p codesigning $KEYCHAIN_PATH | grep "Developer ID Application" | head -1 | sed 's/.*"\(.*\)".*/\1/')
79+
if [ -z "$IDENTITY" ]; then
80+
echo "::error::No 'Developer ID Application' certificate found in keychain. Check APPLE_CERTIFICATE secret."
81+
security find-identity -v -p codesigning $KEYCHAIN_PATH
82+
exit 1
83+
fi
84+
echo "Found signing identity: $IDENTITY"
7985
echo "APPLE_SIGNING_IDENTITY=$IDENTITY" >> $GITHUB_ENV
8086
8187
# macOS: write App Store Connect API key for notarization

packages/dashboard/src-tauri/Cargo.lock

Lines changed: 7 additions & 111 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/dashboard/src-tauri/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ tauri-build = { version = "2", features = [] }
1313

1414
[dependencies]
1515
tauri = { version = "2", features = ["tray-icon"] }
16-
tauri-plugin-shell = "2"
1716
serde = { version = "1", features = ["derive"] }
1817
serde_json = "1"
1918
rusqlite = { version = "0.31", features = ["bundled"] }
@@ -24,6 +23,7 @@ regex = "1"
2423
lazy_static = "1"
2524
tokio = { version = "1", features = ["fs", "io-util", "sync", "macros"] }
2625
reqwest = { version = "0.12", features = ["json"] }
26+
md5 = "0.7"
2727
tauri-plugin-updater = "2"
2828
tauri-plugin-process = "2"
2929
tauri-plugin-dialog = "2"

packages/dashboard/src-tauri/capabilities/default.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
"windows": ["*"],
66
"permissions": [
77
"core:default",
8-
"shell:default",
98
"updater:default",
109
"dialog:default",
1110
"process:default"

packages/dashboard/src-tauri/gen/schemas/acl-manifests.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"default":{"identifier":"default","description":"Capability for the main window","local":true,"windows":["*"],"permissions":["core:default","shell:default","updater:default","dialog:default","process:default"]}}
1+
{"default":{"identifier":"default","description":"Capability for the main window","local":true,"windows":["*"],"permissions":["core:default","updater:default","dialog:default","process:default"]}}

0 commit comments

Comments
 (0)