@@ -157,7 +157,7 @@ jobs:
157157 run : build/shared/test.Magick.NET.sh
158158
159159 windows :
160- name : Windows
160+ name : ' Windows (Q8/Q16/Q16-HDRI) '
161161 runs-on : windows-2022
162162
163163 permissions :
@@ -169,7 +169,7 @@ jobs:
169169 fail-fast : false
170170 matrix :
171171 quantumName : [Q8, Q8-OpenMP, Q16, Q16-OpenMP, Q16-HDRI, Q16-HDRI-OpenMP]
172- platformName : [x86, x64, arm64, Any CPU]
172+ platformName : [x86, x64, Any CPU]
173173 exclude :
174174 - quantumName : Q8-OpenMP
175175 platformName : x86
@@ -204,12 +204,87 @@ jobs:
204204 working-directory : src/Magick.Native
205205
206206 - name : Build Magick.NET (Test)
207- if : ${{ matrix.platformName != 'arm64' }}
208207 run : ' ./build.Magick.NET.cmd ${{ matrix.quantumName }} "${{ matrix.platformName }}" Test'
209208 working-directory : build/windows
210209
211210 - name : Test Magick.NET
212- if : ${{ matrix.platformName != 'arm64' }}
211+ run : ' ./test.Magick.NET.cmd ${{ matrix.quantumName }} "${{ matrix.platformName }}"'
212+ working-directory : build/windows
213+
214+ - name : Build Magick.NET (Release)
215+ run : ' ./build.Magick.NET.cmd ${{ matrix.quantumName }} "${{ matrix.platformName }}" Release'
216+ working-directory : build/windows
217+
218+ - name : Set NuGet version
219+ run : ./set.version.ps1
220+ working-directory : publish
221+
222+ - name : Create NuGet package
223+ run : ' ./publish.cmd ${{ matrix.quantumName }} "${{ matrix.platformName }}"'
224+ working-directory : publish
225+
226+ - name : Azure CLI login with federated credential
227+ if : github.event_name != 'pull_request'
228+ uses : azure/login@v2
229+ with :
230+ client-id : ${{ secrets.AZURE_CLIENT_ID }}
231+ tenant-id : ${{ secrets.AZURE_TENANT_ID }}
232+ subscription-id : ${{ secrets.AZURE_SUBSCRIPTION_ID }}
233+
234+ - name : Sign NuGet package
235+ if : ${{ github.event_name != 'pull_request' }}
236+ run : sign code trusted-signing *.nupkg `
237+ --trusted-signing-account ImageMagick `
238+ --trusted-signing-certificate-profile ImageMagick `
239+ --trusted-signing-endpoint https://eus.codesigning.azure.net `
240+ --verbosity information
241+ working-directory : publish/output
242+
243+ - name : Upload library
244+ uses : actions/upload-artifact@v4
245+ with :
246+ name : ' Magick.NET-${{ matrix.quantumName }}-${{ matrix.platformName }}'
247+ path : publish/output
248+
249+ windows_arm64 :
250+ name : ' Windows (Q8/Q16/Q16-HDRI, arm64)'
251+ runs-on : windows-11-arm
252+
253+ permissions :
254+ id-token : write
255+ contents : read
256+ packages : read
257+
258+ strategy :
259+ fail-fast : false
260+ matrix :
261+ quantumName : [Q8, Q8-OpenMP, Q16, Q16-OpenMP, Q16-HDRI, Q16-HDRI-OpenMP]
262+ platformName : [arm64]
263+
264+ steps :
265+
266+ - name : Checkout
267+ uses : actions/checkout@v4
268+ with :
269+ fetch-tags : true
270+
271+ - name : Install dependencies
272+ run : ./install.dependencies.cmd
273+ working-directory : build/windows
274+
275+ - name : Create nuget.config
276+ run : ' ./create-nuget-config.cmd "dlemstra" "${{ secrets.GITHUB_TOKEN }}"'
277+ working-directory : src/Magick.Native
278+
279+ - name : Install Magick.Native
280+ run : ./install.cmd
281+ working-directory : src/Magick.Native
282+
283+ - name : Build Magick.NET (Test)
284+ run : ' ./build.Magick.NET.cmd ${{ matrix.quantumName }} "${{ matrix.platformName }}" Test'
285+ working-directory : build/windows
286+
287+ - name : Test Magick.NET
213288 run : ' ./test.Magick.NET.cmd ${{ matrix.quantumName }} "${{ matrix.platformName }}"'
214289 working-directory : build/windows
215290
0 commit comments