Skip to content

Commit 1c127fd

Browse files
authored
feat: macos codesign (#211)
feat: macos codesign implement macos code codesign to solve install issue Refs: #177 #207 #210 --------- Signed-off-by: seven <[email protected]>
1 parent c4a2e25 commit 1c127fd

File tree

4 files changed

+32
-6
lines changed

4 files changed

+32
-6
lines changed

.github/workflows/release.yml

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,15 +64,43 @@ jobs:
6464
env:
6565
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
6666
- run: npm run build
67+
68+
- name: Import Apple Developer Certificate
69+
if: matrix.os == 'macos-latest'
70+
env:
71+
APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }}
72+
APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
73+
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
74+
run: |
75+
echo $APPLE_CERTIFICATE | base64 --decode > certificate.p12
76+
security create-keychain -p "$KEYCHAIN_PASSWORD" build.keychain
77+
security default-keychain -s build.keychain
78+
security unlock-keychain -p "$KEYCHAIN_PASSWORD" build.keychain
79+
# Prevents keychain from locking automatically for 3600 seconds.
80+
security set-keychain-settings -t 3600 -u build.keychain
81+
security import certificate.p12 -k build.keychain -P "$APPLE_CERTIFICATE_PASSWORD" -T /usr/bin/codesign
82+
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k "$KEYCHAIN_PASSWORD" build.keychain
83+
security find-identity -v -p codesigning build.keychain
84+
- name: Verify Certificate
85+
if: matrix.os == 'macos-latest'
86+
run: |
87+
CERT_INFO=$(security find-identity -v -p codesigning build.keychain | grep "Developer ID Application")
88+
CERT_ID=$(echo "$CERT_INFO" | awk -F'"' '{print $2}')
89+
echo "CERT_ID=$CERT_ID" >> $GITHUB_ENV
90+
echo "Certificate imported."
91+
6792
- name: Build Distribution Binaries
6893
uses: tauri-apps/tauri-action@v0
6994
env:
7095
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
7196
PKG_CONFIG_ALLOW_CROSS: 1
7297
CC_aarch64_unknown_linux_gnu: aarch64-linux-gnu-gcc
98+
APPLE_ID: ${{ secrets.APPLE_ID }}
99+
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
100+
APPLE_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
73101
APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }}
74102
APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
75-
APPLE_SIGNING_IDENTITY: ${{ secrets.APPLE_SIGNING_IDENTITY }}
103+
APPLE_SIGNING_IDENTITY: ${{ env.CERT_ID }}
76104
with:
77105
args: ${{ matrix.args }}
78106

@@ -148,7 +176,7 @@ jobs:
148176
if: steps.tag_release.outputs.successful == 'true'
149177
uses: ryand56/r2-upload-action@master
150178
with:
151-
r2-account-id: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
179+
r2-account-id: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
152180
r2-access-key-id: ${{ secrets.CLOUDFLARE_R2_ACCESS_KEY_ID }}
153181
r2-secret-access-key: ${{ secrets.CLOUDFLARE_R2_SECRET_ACCESS_KEY }}
154182
r2-bucket: ${{ secrets.CLOUDFLARE_ARTIFACTS_R2 }}

scripts/build-pkg.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ SIGN_INSTALL="3rd Party Mac Developer Installer: Lisheng Zi (Z44247ZSR9)"
1919
TARGET="universal-apple-darwin"
2020

2121

22-
npx tauri build --target "${TARGET}" --verbose
22+
DOCKIT_DISTRIBUTION="APP_STORE" npx tauri build --target "${TARGET}" --verbose
2323

2424
# cargo tauri build --target "${target}" --verbose
2525

src-tauri/src/dynamo_client.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ use crate::dynamo::types::ApiResponse;
66
use aws_config::meta::region::RegionProviderChain;
77
use aws_config::Region;
88
use aws_sdk_dynamodb::{config::Credentials, Client};
9-
use base64;
109
use serde::Deserialize;
1110

1211
#[derive(Debug, Deserialize)]
@@ -25,7 +24,6 @@ pub struct DynamoOptions {
2524

2625
#[tauri::command]
2726
pub async fn dynamo_api(
28-
window: tauri::Window,
2927
credentials: DynamoCredentials,
3028
options: DynamoOptions,
3129
) -> Result<String, String> {

src-tauri/src/openai_client.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ pub async fn create_openai_client(
106106
AI_CLIENT = Option::from(Client::with_config(config).with_http_client(http_client));
107107
}
108108

109-
return Ok(format!("{} client created", provider).to_string());
109+
Ok(format!("{} client created", provider).to_string())
110110
}
111111

112112
#[tauri::command]

0 commit comments

Comments
 (0)