@@ -275,9 +275,63 @@ jobs:
275
275
# See https://github.com/actions/upload-artifact/issues/174 for details.
276
276
dotnet-versions
277
277
output/
278
- release :
278
+ test :
279
279
needs : installer
280
280
runs-on : ubuntu-latest
281
+ strategy :
282
+ matrix :
283
+ # TODO: aspnetcore build fails on x64 with:
284
+ # EXEC : error : Failed to load assembly 'System.Private.CoreLib'
285
+ arch : [ppc64le, s390x]
286
+ isV6 :
287
+ - ${{ startsWith(github.ref, 'refs/tags/v6.') }}
288
+ exclude :
289
+ - arch : ppc64le
290
+ isV6 : true
291
+ steps :
292
+ - name : Install cross-ppc64le packages
293
+ run : (echo "deb [arch=ppc64el] http://ports.ubuntu.com/ubuntu-ports/ $(lsb_release -cs) main universe" &&
294
+ echo "deb [arch=ppc64el] http://ports.ubuntu.com/ubuntu-ports/ $(lsb_release -cs)-security main universe" &&
295
+ echo "deb [arch=ppc64el] http://ports.ubuntu.com/ubuntu-ports/ $(lsb_release -cs)-updates main universe" &&
296
+ echo "deb [arch=ppc64el] http://ports.ubuntu.com/ubuntu-ports/ $(lsb_release -cs)-backports main universe") |
297
+ sudo tee /etc/apt/sources.list.d/ports.list >/dev/null &&
298
+ sudo apt-get update &&
299
+ sudo apt-get install -y
300
+ libc6-ppc64el-cross
301
+ libstdc++6-ppc64el-cross
302
+ zlib1g:ppc64el
303
+ if : ${{ matrix.arch == 'ppc64le' }}
304
+ - name : Install cross-s390x packages
305
+ run : (echo "deb [arch=s390x] http://ports.ubuntu.com/ubuntu-ports/ $(lsb_release -cs) main universe" &&
306
+ echo "deb [arch=s390x] http://ports.ubuntu.com/ubuntu-ports/ $(lsb_release -cs)-security main universe" &&
307
+ echo "deb [arch=s390x] http://ports.ubuntu.com/ubuntu-ports/ $(lsb_release -cs)-updates main universe" &&
308
+ echo "deb [arch=s390x] http://ports.ubuntu.com/ubuntu-ports/ $(lsb_release -cs)-backports main universe") |
309
+ sudo tee /etc/apt/sources.list.d/ports.list >/dev/null &&
310
+ sudo apt-get update &&
311
+ sudo apt-get install -y
312
+ libc6-s390x-cross
313
+ libstdc++6-s390x-cross
314
+ zlib1g:s390x
315
+ if : ${{ matrix.arch == 's390x' }}
316
+ - name : Checkout
317
+ uses : actions/checkout@v4
318
+ - name : Download the ${{ matrix.arch }} installer artifacts
319
+ uses : actions/download-artifact@v3 # Has to match upload-artifact
320
+ with :
321
+ name : installer-${{ matrix.arch }}
322
+ - name : Configure emulation
323
+ run : docker run --rm --privileged multiarch/qemu-user-static:7.2.0-1 --reset --persistent=yes
324
+ - name : Run a ppc64le smoke test
325
+ run : QEMU_LD_PREFIX=/usr/powerpc64le-linux-gnu
326
+ ./dotnet-test-sdk output/dotnet-sdk-*-linux-ppc64le.tar.gz
327
+ if : ${{ matrix.arch == 'ppc64le' }}
328
+ - name : Run a s390x smoke test
329
+ run : QEMU_LD_PREFIX=/usr/s390x-linux-gnu
330
+ ./dotnet-test-sdk output/dotnet-sdk-*-linux-s390x.tar.gz
331
+ if : ${{ matrix.arch == 's390x' }}
332
+ release :
333
+ needs : test
334
+ runs-on : ubuntu-latest
281
335
strategy :
282
336
matrix :
283
337
arch : [x64]
0 commit comments