Skip to content

Commit 205150d

Browse files
authored
CI refactor
1 parent 00f846e commit 205150d

File tree

1 file changed

+46
-12
lines changed

1 file changed

+46
-12
lines changed

.github/workflows/main.yml

Lines changed: 46 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,24 @@ on: [push, pull_request]
44

55
jobs:
66
build:
7-
87
runs-on: ${{ matrix.os }}
98

109
strategy:
1110
fail-fast: false
1211
matrix:
1312
os: [windows-latest, ubuntu-22.04, macos-latest]
13+
framework: ['net462', 'net6.0', 'net8.0']
1414

1515
steps:
16+
# Prerequisites
1617
- name: Install tools
1718
if: matrix.os == 'ubuntu-22.04'
1819
run: sudo apt-get -yq install mono-vbnc dos2unix
1920
- uses: actions/checkout@v4
2021
with:
2122
submodules: true
23+
24+
# Setup .NET
2225
- name: Setup .NET 6.0
2326
uses: actions/setup-dotnet@v4
2427
with:
@@ -31,26 +34,57 @@ jobs:
3134
uses: actions/setup-dotnet@v4
3235
with:
3336
dotnet-version: '9.0.x'
37+
38+
# CI debug information
3439
- name: Version Information
3540
run: |
3641
dotnet --info
3742
try { msbuild -version } catch { }
3843
try { mono --version } catch { }
3944
shell: pwsh
45+
46+
# Build & package
4047
- name: Build
41-
run: pwsh make.ps1
48+
run: pwsh make.ps1 -frameworks ${{ matrix.framework }}
4249
- name: Package
43-
run: pwsh make.ps1 package
50+
run: pwsh make.ps1 package -frameworks ${{ matrix.framework }}
51+
52+
# Upload package
4453
- uses: actions/upload-artifact@v4
4554
with:
46-
name: packages-${{ matrix.os }}
55+
name: packages-${{ matrix.os }}-${{ matrix.framework }}
4756
path: Package/Release/Packages
48-
- name: Test (net462)
49-
run: ./make.ps1 -frameworks net462 test-all
50-
shell: pwsh
51-
- name: Test (net6.0)
52-
run: ./make.ps1 -frameworks net6.0 test-all
53-
shell: pwsh
54-
- name: Test (net8.0)
55-
run: ./make.ps1 -frameworks net8.0 test-all
57+
58+
test:
59+
runs-on: ${{ matrix.os }}
60+
61+
strategy:
62+
fail-fast: false
63+
matrix:
64+
os: [windows-latest, ubuntu-22.04, macos-latest]
65+
framework: ['net462', 'net6.0', 'net8.0']
66+
67+
steps:
68+
# Prerequisites
69+
- uses: actions/checkout@v4
70+
with:
71+
submodules: true
72+
73+
# Setup .NET
74+
- name: Setup .NET ${{ matrix.framework }}
75+
uses: actions/setup-dotnet@v4
76+
with:
77+
dotnet-version: '6.0.x'
78+
- name: Setup .NET 8.0
79+
uses: actions/setup-dotnet@v4
80+
with:
81+
dotnet-version: '8.0.x'
82+
- name: Setup .NET 9.0
83+
uses: actions/setup-dotnet@v4
84+
with:
85+
dotnet-version: '9.0.x'
86+
87+
# Test action
88+
- name: Test (${{ matrix.framework }})
89+
run: ./make.ps1 -frameworks ${{ matrix.framework }} test-all
5690
shell: pwsh

0 commit comments

Comments
 (0)