Skip to content

Commit e4fd20b

Browse files
authored
Merge pull request SciSharp#1348 from m0nsky/feature/expand-ci-test-matrix-v2
Expand CI matrix, new platforms + renames
2 parents 21cc8c3 + 89fea45 commit e4fd20b

1 file changed

Lines changed: 39 additions & 11 deletions

File tree

.github/workflows/main.yml

Lines changed: 39 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,31 +10,59 @@ concurrency:
1010

1111
jobs:
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
@@ -65,4 +93,4 @@ jobs:
6593
uses: actions/upload-artifact@v4
6694
with:
6795
path: logs/
68-
name: logs-${{ matrix.os }}
96+
name: logs-${{ matrix.build }}

0 commit comments

Comments
 (0)