diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 5d3e2b5..35743a2 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -62,7 +62,20 @@ jobs:
- name: Upload osx-x64 artifacts
uses: actions/upload-artifact@v4.3.5
with:
- name: publish-osx
+ name: publish-osx-x64
+ path: .publish
+
+ - name: Restore osx-arm64 dependencies
+ run: dotnet restore -r osx-arm64
+ - name: Build osx-arm64
+ run: msbuild SQLSchemaCompare.sln /p:Configuration=Release /p:RuntimeIdentifier=osx-arm64
+ - name: Publish osx-arm64
+ run: dotnet publish SQLSchemaCompare.UI.csproj --no-build --no-restore -c Release -r osx-arm64
+ working-directory: SQLSchemaCompare.UI
+ - name: Upload osx-arm64 artifacts
+ uses: actions/upload-artifact@v4.3.5
+ with:
+ name: publish-osx-arm64
path: .publish
installer_win_x64:
@@ -134,9 +147,12 @@ jobs:
file: installer/*.{deb,rpm,tar.gz}
tag: ${{ github.ref }}
- installer_osx_x64:
+ installer_osx:
runs-on: macos-latest
needs: build_artifacts
+ strategy:
+ matrix:
+ arch: [x64, arm64]
defaults:
run:
shell: bash
@@ -150,10 +166,10 @@ jobs:
with:
name: SQLSchemaCompare
path: SQLSchemaCompare
- - name: Download publish-osx artifact
+ - name: Download publish-osx-${{ matrix.arch }} artifact
uses: actions/download-artifact@v4
with:
- name: publish-osx
+ name: publish-osx-${{ matrix.arch }}
path: .publish
- name: Prepare artifacts
run: |
@@ -163,8 +179,10 @@ jobs:
cd SQLSchemaCompare
yarn install --frozen-lockfile
- name: Create installer
- run: yarn dist-osx-x64
+ run: yarn dist-osx
working-directory: SQLSchemaCompare
+ env:
+ ARCH_SUFFIX: ${{ matrix.arch }}
- name: Upload installer to release
uses: svenstaro/upload-release-action@v2
with:
@@ -176,7 +194,7 @@ jobs:
clean_artifacts:
runs-on: windows-latest
if: always()
- needs: [installer_win_x64, installer_linux_x64, installer_osx_x64]
+ needs: [installer_win_x64, installer_linux_x64, installer_osx]
steps:
- uses: geekyeggo/delete-artifact@v5
with:
@@ -184,4 +202,5 @@ jobs:
SQLSchemaCompare
publish-win
publish-linux
- publish-osx
+ publish-osx-x64
+ publish-osx-arm64
diff --git a/SQLSchemaCompare.UI/SQLSchemaCompare.UI.csproj b/SQLSchemaCompare.UI/SQLSchemaCompare.UI.csproj
index a6b6b93..744de27 100644
--- a/SQLSchemaCompare.UI/SQLSchemaCompare.UI.csproj
+++ b/SQLSchemaCompare.UI/SQLSchemaCompare.UI.csproj
@@ -4,7 +4,7 @@
TiCodeX.SQLSchemaCompare.UI
latest
Exe
- win-x64;linux-x64;osx-x64
+ win-x64;linux-x64;osx-x64;osx-arm64
..\.publish
true
diff --git a/SQLSchemaCompare/package.json b/SQLSchemaCompare/package.json
index 4104148..06f6789 100644
--- a/SQLSchemaCompare/package.json
+++ b/SQLSchemaCompare/package.json
@@ -55,7 +55,7 @@
"mac": {
"target": "default",
"category": "public.app-category.productivity",
- "artifactName": "SQLSchemaCompare-${version}.${ext}",
+ "artifactName": "SQLSchemaCompare-${version}-${env.ARCH_SUFFIX}.${ext}",
"publish": {
"provider": "generic",
"url": ""
@@ -106,7 +106,7 @@
"start": "electron .",
"dist-win-x64": "electron-builder --win --publish always",
"dist-linux-x64": "electron-builder --linux --publish always",
- "dist-osx-x64": "electron-builder --mac --publish always"
+ "dist-osx": "electron-builder --mac --publish always"
},
"postinstall": "electron-builder install-app-deps",
"devDependencies": {