Skip to content

Commit ab1cd10

Browse files
Aleksandr Slapoguzovclaude
andcommitted
fix: add entitlements for Bun executable on macOS
Bun-compiled executables require specific entitlements to run with hardened runtime: - com.apple.security.cs.allow-jit - com.apple.security.cs.allow-unsigned-executable-memory - com.apple.security.cs.disable-executable-page-protection - com.apple.security.cs.allow-dyld-environment-variables - com.apple.security.cs.disable-library-validation Without these, the binary fails with "Ran out of executable memory" and SIGTRAP (exit code 133). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 9ae31c9 commit ab1cd10

1 file changed

Lines changed: 25 additions & 2 deletions

File tree

.github/workflows/release.yml

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,19 +61,42 @@ jobs:
6161
zip -j dist/bin/codex-acp-x64-darwin.zip dist/bin/codex-acp-x64-darwin
6262
zip -j dist/bin/codex-acp-arm64-darwin.zip dist/bin/codex-acp-arm64-darwin
6363
64+
- name: Create entitlements for macOS
65+
run: |
66+
cat > entitlements.plist << 'EOF'
67+
<?xml version="1.0" encoding="UTF-8"?>
68+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
69+
<plist version="1.0">
70+
<dict>
71+
<key>com.apple.security.cs.allow-jit</key>
72+
<true/>
73+
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
74+
<true/>
75+
<key>com.apple.security.cs.disable-executable-page-protection</key>
76+
<true/>
77+
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
78+
<true/>
79+
<key>com.apple.security.cs.disable-library-validation</key>
80+
<true/>
81+
</dict>
82+
</plist>
83+
EOF
84+
ENTITLEMENTS_BASE64=$(gzip -c entitlements.plist | base64 -w 0)
85+
echo "ENTITLEMENTS_BASE64=$ENTITLEMENTS_BASE64" >> $GITHUB_ENV
86+
6487
- name: Sign macOS binaries
6588
env:
6689
SERVICE_ACCOUNT_NAME: ${{ vars.SERVICE_ACCOUNT_NAME }}
6790
SERVICE_ACCOUNT_TOKEN: ${{ secrets.SERVICE_ACCOUNT_TOKEN }}
6891
run: |
6992
./codesign-client-linux-amd64 \
7093
-denoted-content-type="application/x-mac-app-zip" \
71-
-extensions "mac_codesign_identity=Developer ID Application: JetBrains s.r.o. (2ZEFAR8TH3),mac_codesign_force=true,mac_codesign_options=runtime" \
94+
-extensions "mac_codesign_identity=Developer ID Application: JetBrains s.r.o. (2ZEFAR8TH3),mac_codesign_force=true,mac_codesign_options=runtime,mac_codesign_entitlements=$ENTITLEMENTS_BASE64" \
7295
-log-format json \
7396
dist/bin/codex-acp-x64-darwin.zip
7497
./codesign-client-linux-amd64 \
7598
-denoted-content-type="application/x-mac-app-zip" \
76-
-extensions "mac_codesign_identity=Developer ID Application: JetBrains s.r.o. (2ZEFAR8TH3),mac_codesign_force=true,mac_codesign_options=runtime" \
99+
-extensions "mac_codesign_identity=Developer ID Application: JetBrains s.r.o. (2ZEFAR8TH3),mac_codesign_force=true,mac_codesign_options=runtime,mac_codesign_entitlements=$ENTITLEMENTS_BASE64" \
77100
-log-format json \
78101
dist/bin/codex-acp-arm64-darwin.zip
79102

0 commit comments

Comments
 (0)