📦 Chore(custom): update macos arm64 build

This commit is contained in:
Kuingsmile
2025-08-14 14:36:24 +08:00
parent 9d4e280b3d
commit 72327c0ef9
2 changed files with 44 additions and 24 deletions

View File

@@ -22,7 +22,7 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
os: [ubuntu-latest, macos-13, windows-latest, windows-11-arm] os: [ubuntu-latest, macos-13, windows-latest, windows-11-arm, macos-latest]
steps: steps:
- name: Set up git config - name: Set up git config
@@ -44,20 +44,13 @@ jobs:
sudo apt-get install --no-install-recommends -y icnsutils graphicsmagick xz-utils sudo apt-get install --no-install-recommends -y icnsutils graphicsmagick xz-utils
- name: Install dependencies (macOS) - name: Install dependencies (macOS)
if: matrix.os == 'macos-13' if: matrix.os == 'macos-13' || matrix.os == 'macos-latest'
run: |
yarn config set ignore-engines true
yarn install
npm rebuild --platform=darwin --arch=arm64 sharp
- name: Install dependencies (Windows x64)
if: matrix.os == 'windows-latest'
run: | run: |
yarn config set ignore-engines true yarn config set ignore-engines true
yarn install yarn install
- name: Install dependencies (Windows ARM64) - name: Install dependencies (Windows)
if: matrix.os == 'windows-11-arm' if: matrix.os == 'windows-latest' || matrix.os == 'windows-11-arm'
run: | run: |
yarn config set ignore-engines true yarn config set ignore-engines true
yarn install yarn install
@@ -84,16 +77,24 @@ jobs:
$config.win.target[0].arch = @("arm64") $config.win.target[0].arch = @("arm64")
$config | ConvertTo-Json -Depth 10 | Set-Content electron-builder.json $config | ConvertTo-Json -Depth 10 | Set-Content electron-builder.json
- name: Build application (Windows x64) - name: Modify electron-builder.json for Macos x64
if: matrix.os == 'windows-latest' if: matrix.os == 'macos-13'
run: yarn build:win run: |
env: # Remove arm64 from the arch array, keep only x64
ELECTRON_SKIP_NOTARIZATION: true $config = Get-Content electron-builder.json | ConvertFrom-Json
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} $config.mac.target[0].arch = @("x64")
GH_TOKEN: ${{ secrets.GH_TOKEN }} $config | ConvertTo-Json -Depth 10 | Set-Content electron-builder.json
- name: Build application (Windows ARM64) - name: Modify electron-builder.json for Macos ARM64
if: matrix.os == 'windows-11-arm' if: matrix.os == 'macos-latest'
run: |
# Remove x64 from the arch array, keep only arm64
$config = Get-Content electron-builder.json | ConvertFrom-Json
$config.mac.target[0].arch = @("arm64")
$config | ConvertTo-Json -Depth 10 | Set-Content electron-builder.json
- name: Build application (Windows x64)
if: matrix.os == 'windows-latest' || matrix.os == 'windows-11-arm'
run: yarn build:win run: yarn build:win
env: env:
ELECTRON_SKIP_NOTARIZATION: true ELECTRON_SKIP_NOTARIZATION: true
@@ -101,7 +102,7 @@ jobs:
GH_TOKEN: ${{ secrets.GH_TOKEN }} GH_TOKEN: ${{ secrets.GH_TOKEN }}
- name: Build application (macOS) - name: Build application (macOS)
if: matrix.os == 'macos-13' if: matrix.os == 'macos-13' || matrix.os == 'macos-latest'
run: yarn build:mac run: yarn build:mac
env: env:
ELECTRON_SKIP_NOTARIZATION: true ELECTRON_SKIP_NOTARIZATION: true
@@ -141,12 +142,21 @@ jobs:
if: matrix.os == 'macos-13' if: matrix.os == 'macos-13'
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: macos-packages name: macos-x64-packages
path: | path: |
dist_electron/*.dmg dist_electron/*.dmg
retention-days: 30 retention-days: 30
if-no-files-found: error if-no-files-found: error
- name: Upload macOS ARM64 packages
if: matrix.os == 'macos-latest'
uses: actions/upload-artifact@v4
with:
name: macos-arm64-packages
path: |
dist_electron/*.dmg
retention-days: 30
- name: Upload Linux packages - name: Upload Linux packages
if: matrix.os == 'ubuntu-latest' if: matrix.os == 'ubuntu-latest'
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
@@ -182,7 +192,17 @@ jobs:
if: matrix.os == 'macos-13' if: matrix.os == 'macos-13'
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: macos-yml name: macos-x64-yml
path: |
dist_electron/github/*
retention-days: 30
if-no-files-found: error
- name: Upload macOS ARM64 yml
if: matrix.os == 'macos-latest'
uses: actions/upload-artifact@v4
with:
name: macos-arm64-yml
path: | path: |
dist_electron/github/* dist_electron/github/*
retention-days: 30 retention-days: 30

View File

@@ -53,7 +53,7 @@
"target": [ "target": [
{ {
"target": "default", "target": "default",
"arch": ["universal", "x64", "arm64"] "arch": ["x64", "arm64"]
} }
], ],
"artifactName": "PicList-${version}-${arch}.${ext}" "artifactName": "PicList-${version}-${arch}.${ext}"