Эх сурвалжийг харах

Merge pull request #9 from kinzun/main

chore: 增加 x86 版本
Journey 1 жил өмнө
parent
commit
062d358b90

+ 39 - 2
.github/workflows/build.yml

@@ -87,8 +87,41 @@ jobs:
         name: CursorPro-Linux
         path: dist/CursorPro
 
+  build-macos-intel:
+    runs-on: macos-latest
+
+    steps:
+    - uses: actions/checkout@v2
+
+    - name: Set up Python
+      uses: actions/setup-python@v2
+      with:
+        python-version: '3.x'
+
+    - name: Install dependencies
+      run: |
+        arch -x86_64 pip3 install --upgrade pip
+        arch -x86_64 pip3 install pyinstaller
+        arch -x86_64 pip3 install -r requirements.txt
+
+    - name: Build MacOS Intel executable
+      env:
+        TARGET_ARCH: 'x86_64'
+      run: |
+        arch -x86_64 python3 -m PyInstaller CursorKeepAlive.spec
+
+    - name: Verify architecture
+      run: |
+        file dist/CursorPro | grep "x86_64" || (echo "Wrong architecture" && exit 1)
+
+    - name: Upload MacOS Intel artifact
+      uses: actions/upload-artifact@v4
+      with:
+        name: CursorPro-MacOS-Intel
+        path: dist/CursorPro
+
   create-release:
-    needs: [build-windows, build-macos-arm64, build-linux]
+    needs: [build-windows, build-macos-arm64, build-linux, build-macos-intel]
     runs-on: ubuntu-22.04
     if: startsWith(github.ref, 'refs/tags/')
     
@@ -104,7 +137,9 @@ jobs:
           zip -r CursorPro-Windows.zip CursorPro-Windows/
           zip -r CursorPro-MacOS-ARM64.zip CursorPro-MacOS-ARM64/
           zip -r CursorPro-Linux.zip CursorPro-Linux/
-          
+          zip -r CursorPro-MacOS-Intel.zip CursorPro-MacOS-Intel/
+
+
       - name: Create Release
         uses: softprops/action-gh-release@v1
         with:
@@ -112,5 +147,7 @@ jobs:
             artifacts/CursorPro-Windows.zip
             artifacts/CursorPro-MacOS-ARM64.zip
             artifacts/CursorPro-Linux.zip
+            artifacts/CursorPro-MacOS-Intel.zip
+
         env:
           GITHUB_TOKEN: ${{ secrets.TOKEN }}

+ 6 - 3
CursorKeepAlive.spec

@@ -1,4 +1,5 @@
 # -*- mode: python ; coding: utf-8 -*-
+import os
 
 a = Analysis(
     ['cursor_pro_keep_alive.py'],
@@ -20,6 +21,8 @@ a = Analysis(
 
 pyz = PYZ(a.pure)
 
+target_arch = os.environ.get('TARGET_ARCH', None)
+
 exe = EXE(
     pyz,
     a.scripts,
@@ -35,9 +38,9 @@ exe = EXE(
     runtime_tmpdir=None,
     console=True,
     disable_windowed_traceback=False,
-    argv_emulation=False,
-    target_arch=None,
+    argv_emulation=True,  # 对非Mac平台无影响
+    target_arch=target_arch,  # 仅在需要时通过环境变量指定
     codesign_identity=None,
     entitlements_file=None,
     icon=None
-) 
+)