Skip to content

Commit 05f83d5

Browse files
committed
chore: refactor GitHub Actions workflow to support multi-platform builds
1 parent ad9fead commit 05f83d5

1 file changed

Lines changed: 19 additions & 52 deletions

File tree

.github/workflows/integration.yml

Lines changed: 19 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,22 @@ on:
66
- 'feature/**'
77

88
jobs:
9-
ubuntu-latest:
10-
name: ubuntu-latest
11-
runs-on: ubuntu-latest
9+
build:
10+
name: ${{ matrix.os }}
11+
runs-on: ${{ matrix.os }}
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
include:
16+
- os: ubuntu-latest
17+
artifact-suffix: linux
18+
build-target: nugetpush
19+
- os: windows-latest
20+
artifact-suffix: windows
21+
build-target: pack
22+
- os: macos-latest
23+
artifact-suffix: macos
24+
build-target: pack
1225
env:
1326
TERM: xterm
1427
DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION: 1
@@ -22,58 +35,12 @@ jobs:
2235
path: |
2336
~/.nuget/packages
2437
key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj', '**/Directory.Packages.props') }}
25-
- name: 'Build with target: NuGetPush'
38+
- name: 'Build with target: ${{ matrix.build-target }}'
39+
run: ./build.cmd -t ${{ matrix.build-target }}
2640
env:
2741
NUGET_TOKEN: ${{ secrets.GITHUB_TOKEN }}
28-
run: ./build.cmd -t nugetpush
2942
- name: 'Publish: coverage-report'
3043
uses: actions/upload-artifact@v7
3144
with:
32-
name: coverage-report-linux
33-
path: .tests/coverage-report
34-
windows-latest:
35-
name: windows-latest
36-
runs-on: windows-latest
37-
env:
38-
TERM: xterm
39-
DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION: 1
40-
steps:
41-
- uses: actions/checkout@v6
42-
with:
43-
fetch-depth: 0
44-
- name: 'Cache: ~/.nuget/packages'
45-
uses: actions/cache@v5
46-
with:
47-
path: |
48-
~/.nuget/packages
49-
key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj', '**/Directory.Packages.props') }}
50-
- name: 'Build with target: Pack'
51-
run: ./build.cmd -t pack
52-
- name: 'Publish: coverage_report'
53-
uses: actions/upload-artifact@v7
54-
with:
55-
name: coverage-report-windows
56-
path: .tests/coverage-report
57-
macos-latest:
58-
name: macos-latest
59-
runs-on: macos-latest
60-
env:
61-
TERM: xterm
62-
DOTNET_SYSTEM_CONSOLE_ALLOW_ANSI_COLOR_REDIRECTION: 1
63-
steps:
64-
- uses: actions/checkout@v6
65-
with:
66-
fetch-depth: 0
67-
- name: 'Cache: ~/.nuget/packages'
68-
uses: actions/cache@v5
69-
with:
70-
path: |
71-
~/.nuget/packages
72-
key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj', '**/Directory.Packages.props') }}
73-
- name: 'Build with target: Pack'
74-
run: ./build.cmd -t pack
75-
- name: 'Publish: coverage_report'
76-
uses: actions/upload-artifact@v7
77-
with:
78-
name: coverage-report-macos
45+
name: coverage-report-${{ matrix.artifact-suffix }}
7946
path: .tests/coverage-report

0 commit comments

Comments
 (0)