@@ -10,31 +10,59 @@ concurrency:
1010
1111jobs :
1212 build :
13- name : Test
13+ name : ${{ matrix.name }}
1414 runs-on : ${{ matrix.os }}
15+ container : ${{ matrix.container || '' }}
1516 strategy :
1617 fail-fast : false
1718 matrix :
18- build : [linux-release , windows-release, osx-release ]
19+ build : [linux-x64-cpu , windows-x64-cpu, macos-arm64-metal, linux-arm64-cpu, linux-musl-x64-cpu ]
1920 include :
20- - build : linux-release
21- os : ubuntu-latest
21+ - build : linux-x64-cpu
22+ os : ubuntu-24.04
2223 config : release
23- - build : osx-release
24- os : macos-14 # https://github.blog/changelog/2024-01-30-github-actions-introducing-the-new-m1-macos-runner-available-to-open-source/
25- config : release
26- - build : windows-release
24+ name : Linux x64 CPU
25+ - build : macos-arm64-metal
26+ os : macos-14
27+ config : release
28+ name : macOS ARM64 Metal
29+ - build : windows-x64-cpu
2730 os : windows-2022
2831 config : release
32+ name : Windows x64 CPU
33+ - build : linux-arm64-cpu
34+ os : ubuntu-24.04-arm
35+ config : release
36+ name : Linux ARM64 CPU
37+ - build : linux-musl-x64-cpu
38+ os : ubuntu-24.04
39+ config : release
40+ name : Linux musl x64 CPU
41+ container : mcr.microsoft.com/dotnet/sdk:9.0-alpine
2942 steps :
3043 - name : Free Disk Space (Ubuntu)
31- if : ${{ matrix.os == 'ubuntu-latest ' }}
44+ if : ${{ matrix.build == 'linux-x64-cpu' || matrix.build == 'linux-arm64-cpu ' }}
3245 uses : jlumbroso/free-disk-space@v1.3.1
3346 with :
3447 dotnet : false
35-
48+
49+ - name : Install Alpine dependencies
50+ if : ${{ matrix.build == 'linux-musl-x64-cpu' }}
51+ run : |
52+ apk add --no-cache git bash icu-libs libstdc++ libgomp
53+ dotnet --list-runtimes
54+ dotnet --list-sdks
55+ - name : Install .NET 8.0 runtime (Alpine)
56+ if : ${{ matrix.build == 'linux-musl-x64-cpu' }}
57+ run : |
58+ wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh
59+ chmod +x dotnet-install.sh
60+ ./dotnet-install.sh --runtime dotnet --channel 8.0 --install-dir /usr/share/dotnet
61+ rm dotnet-install.sh
62+
3663 - uses : actions/checkout@v4
3764 - uses : actions/setup-dotnet@v4
65+ if : ${{ matrix.build != 'linux-musl-x64-cpu' }}
3866 with :
3967 dotnet-version : |
4068 8.0.x
6593 uses : actions/upload-artifact@v4
6694 with :
6795 path : logs/
68- name : logs-${{ matrix.os }}
96+ name : logs-${{ matrix.build }}
0 commit comments