Skip to content

Commit f905db5

Browse files
committed
Improve macOS signing workflow for deeper binary detection and stricter signature verification
- Ensure all Mach-O binaries, including nested ones, are signed with updated search logic. - Verify app signature with deeper checks (`--verbose=4 --deep`) and add `spctl` evaluation for execution assessment.
1 parent 8b1b33f commit f905db5

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

.github/workflows/macos.yml

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -108,15 +108,17 @@ jobs:
108108
run: |
109109
echo "=== Signing all binaries in the .app bundle ==="
110110
# Find and sign all Mach-O binaries and libraries first
111-
find ./target/gluonfx/x86_64-darwin/${{ env.APP_NAME }}.app -type f \( -perm +111 -or -name "*.dylib" \) | while read binary; do
112-
if file "$binary" | grep -q "Mach-O"; then
113-
echo "Signing $binary"
111+
# We use a more comprehensive search to ensure all nested binaries are caught
112+
# and we sign them in reverse depth order (deepest first)
113+
find ./target/gluonfx/x86_64-darwin/${{ env.APP_NAME }}.app -type f | while read file; do
114+
if file "$file" | grep -q "Mach-O"; then
115+
echo "Signing binary: $file"
114116
codesign --force --verify --verbose \
115117
--sign "Developer ID Application: Ozkan Pakdil (${{ env.TEAM_ID }})" \
116118
--options runtime \
117119
--timestamp \
118120
--entitlements ./entitlements.plist \
119-
"$binary"
121+
"$file"
120122
fi
121123
done
122124
@@ -129,7 +131,8 @@ jobs:
129131
./target/gluonfx/x86_64-darwin/${{ env.APP_NAME }}.app
130132
131133
echo "=== Verifying signature ==="
132-
codesign --verify --verbose=2 ./target/gluonfx/x86_64-darwin/${{ env.APP_NAME }}.app
134+
codesign --verify --verbose=4 --deep ./target/gluonfx/x86_64-darwin/${{ env.APP_NAME }}.app
135+
spctl --assess --verbose=4 --type execute ./target/gluonfx/x86_64-darwin/${{ env.APP_NAME }}.app || true
133136
134137
- name: Create and sign installer package
135138
run: |

0 commit comments

Comments
 (0)