Skip to content

Commit 9088b01

Browse files
Your Nameclaude
andcommitted
ci: replace import-codesign-certs with manual keychain setup
The action only grants apple-tool/apple access, but codesign needs codesign: access. Create keychains manually and set the partition list with apple-tool:,apple:,codesign:. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent cd6e628 commit 9088b01

1 file changed

Lines changed: 27 additions & 14 deletions

File tree

.github/workflows/release.yml

Lines changed: 27 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -25,21 +25,34 @@ jobs:
2525
- name: Install frontend dependencies
2626
run: npm install
2727

28-
- name: Import Mac App Distribution certificate
29-
uses: apple-actions/import-codesign-certs@v4
30-
with:
31-
keychain: signing_temp_app
32-
create-keychain: true
33-
p12-file-base64: ${{ secrets.APPLE_CERTIFICATE_MAS }}
34-
p12-password: ${{ secrets.APPLE_CERTIFICATE_MAS_PASSWORD }}
28+
- name: Set up signing keychains
29+
env:
30+
MAS_P12: ${{ secrets.APPLE_CERTIFICATE_MAS }}
31+
MAS_P12_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_MAS_PASSWORD }}
32+
INSTALLER_P12: ${{ secrets.APPLE_CERTIFICATE_MAS_INSTALLER }}
33+
INSTALLER_P12_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_MAS_INSTALLER_PASSWORD }}
34+
KEYCHAIN_PASSWORD: ${{ secrets.APPLE_KEYCHAIN_PASSWORD }}
35+
run: |
36+
set -e
37+
# Create app keychain
38+
security create-keychain -p "$KEYCHAIN_PASSWORD" signing_temp_app.keychain
39+
security set-keychain-settings -lut 21600 signing_temp_app.keychain
40+
security unlock-keychain -p "$KEYCHAIN_PASSWORD" signing_temp_app.keychain
41+
echo "$MAS_P12" | base64 -d > /tmp/mas_app.p12
42+
security import /tmp/mas_app.p12 -k signing_temp_app.keychain -P "$MAS_P12_PASSWORD" -f pkcs12 -A -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild
43+
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k "$KEYCHAIN_PASSWORD" signing_temp_app.keychain
44+
security set-keychain-list -d user -s signing_temp_app.keychain login.keychain
45+
rm /tmp/mas_app.p12
3546
36-
- name: Import Mac Installer Distribution certificate
37-
uses: apple-actions/import-codesign-certs@v4
38-
with:
39-
keychain: signing_temp_installer
40-
create-keychain: true
41-
p12-file-base64: ${{ secrets.APPLE_CERTIFICATE_MAS_INSTALLER }}
42-
p12-password: ${{ secrets.APPLE_CERTIFICATE_MAS_INSTALLER_PASSWORD }}
47+
# Create installer keychain
48+
security create-keychain -p "$KEYCHAIN_PASSWORD" signing_temp_installer.keychain
49+
security set-keychain-settings -lut 21600 signing_temp_installer.keychain
50+
security unlock-keychain -p "$KEYCHAIN_PASSWORD" signing_temp_installer.keychain
51+
echo "$INSTALLER_P12" | base64 -d > /tmp/mas_installer.p12
52+
security import /tmp/mas_installer.p12 -k signing_temp_installer.keychain -P "$INSTALLER_P12_PASSWORD" -f pkcs12 -A -T /usr/bin/codesign -T /usr/bin/security -T /usr/bin/productbuild
53+
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k "$KEYCHAIN_PASSWORD" signing_temp_installer.keychain
54+
security set-keychain-list -d user -s signing_temp_installer.keychain signing_temp_app.keychain login.keychain
55+
rm /tmp/mas_installer.p12
4356
4457
- name: Build Tauri (MAS .app)
4558
uses: tauri-apps/tauri-action@v0

0 commit comments

Comments
 (0)