1212 strategy :
1313 fail-fast : false
1414 matrix :
15- platform : [macos-latest, ubuntu-latest, windows-latest]
15+ platform : [macos-latest, macos-latest-arm64, ubuntu-latest, windows-latest]
1616
1717 runs-on : ${{ matrix.platform }}
1818
@@ -43,18 +43,22 @@ jobs:
4343 - name : Test
4444 run : dotnet test --no-build --verbosity normal
4545
46- - name : Build Release
46+ - name : Build Windows Release
4747 if : matrix.platform == 'windows-latest'
4848 run : dotnet publish -c Release -r win-x64 --self-contained true -p:PublishTrimmed=True -p:TrimMode=Full -p:PublishAot=true -p:AssemblyName=ScumBag
4949
50- - name : Build Release
50+ - name : Build Linux Release
5151 if : matrix.platform == 'ubuntu-latest'
5252 run : dotnet publish -c Release -r linux-x64 --self-contained true -p:PublishTrimmed=True -p:TrimMode=Full -p:PublishAot=true -p:AssemblyName=ScumBag
5353
54- - name : Build Release
54+ - name : Build Mac x86-64 Release
5555 if : matrix.platform == 'macos-latest'
5656 run : dotnet publish -c Release -r osx-x64 --self-contained true -p:PublishTrimmed=True -p:TrimMode=Full -p:PublishAot=true -p:AssemblyName=ScumBag
5757
58+ - name : Build Mac arm64 Release
59+ if : matrix.platform == 'macos-latest-arm64'
60+ run : dotnet publish -c Release -r osx-arm64 --self-contained true -p:PublishTrimmed=True -p:TrimMode=Full -p:PublishAot=true -p:AssemblyName=ScumBag
61+
5862 # Windows: Create artifact with specific files
5963 - name : Prepare Windows Artifacts
6064 if : matrix.platform == 'windows-latest'
@@ -102,8 +106,8 @@ jobs:
102106 name : Scum_Bag_flatpak_files
103107 path : flatpak-files/*
104108
105- # macOS: Create artifact with specific files
106- - name : Prepare macOS Artifacts
109+ # macOS x86-64 : Create artifact with specific files
110+ - name : Prepare macOS x86-64 Artifacts
107111 if : matrix.platform == 'macos-latest'
108112 run : |
109113 mkdir artifact
@@ -117,3 +121,19 @@ jobs:
117121 with :
118122 name : Scum_Bag_osx-x64
119123 path : artifact/*
124+
125+ # macOS arm64: Create artifact with specific files
126+ - name : Prepare macOS arm64 Artifacts
127+ if : matrix.platform == 'macos-latest-arm64'
128+ run : |
129+ mkdir artifact
130+ cp "./bin/Release/net8.0/osx-arm64/publish/ScumBag" artifact/
131+ cp ./bin/Release/net8.0/osx-arm64/publish/libwebview.dylib artifact/ || cp ./bin/Release/net8.0/osx-arm64/publish/webview.dylib artifact/ || true
132+ cp ./bin/Release/net8.0/osx-arm64/publish/libnfd.dylib artifact/ || cp ./bin/Release/net8.0/osx-arm64/publish/nfd.dylib artifact/ || true
133+
134+ - name : Archive macOS Artifacts
135+ if : matrix.platform == 'macos-latest-arm64'
136+ uses : actions/upload-artifact@v4
137+ with :
138+ name : Scum_Bag_osx-arm64
139+ path : artifact/*
0 commit comments