Skip to content

Commit 68d94d5

Browse files
committed
feat(ci): use toolchain action on Windows
1 parent d1764d8 commit 68d94d5

2 files changed

Lines changed: 28 additions & 78 deletions

File tree

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: 'Setup Windows Toolchain'
2+
description: 'Configure msbuild, MPI, ccache, ninja, and MSVC'
3+
runs:
4+
using: 'composite'
5+
steps:
6+
- name: Add msbuild to PATH
7+
uses: microsoft/setup-msbuild@v2
8+
with:
9+
vs-version: 'latest'
10+
- name: Setup MPI
11+
uses: mpi4py/setup-mpi@v1
12+
with:
13+
mpi: msmpi
14+
- name: Setup ccache
15+
uses: Chocobo1/setup-ccache-action@v1
16+
with:
17+
windows_compile_environment: msvc
18+
- name: Setup ninja
19+
uses: seanmiddleditch/gha-setup-ninja@v6
20+
- name: Setup MSVC for Ninja again
21+
uses: ilammy/msvc-dev-cmd@v1

.github/workflows/windows.yml

Lines changed: 7 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,7 @@ jobs:
1111
- uses: actions/checkout@v4
1212
with:
1313
submodules: recursive
14-
- name: Add msbuild to PATH
15-
uses: microsoft/setup-msbuild@v2
16-
with:
17-
vs-version: 'latest'
18-
- name: Setup MPI
19-
uses: mpi4py/setup-mpi@v1
20-
with:
21-
mpi: msmpi
22-
- name: Setup ccache
23-
uses: Chocobo1/setup-ccache-action@v1
24-
with:
25-
windows_compile_environment: msvc
26-
- name: Setup ninja
27-
uses: seanmiddleditch/gha-setup-ninja@v6
28-
- name: Setup MSVC for Ninja again
29-
uses: ilammy/msvc-dev-cmd@v1
14+
- uses: ./.github/actions/setup-windows-toolchain
3015
- name: CMake configure
3116
shell: bash
3217
run: >
@@ -57,22 +42,7 @@ jobs:
5742
- uses: actions/checkout@v4
5843
with:
5944
submodules: recursive
60-
- name: Add msbuild to PATH
61-
uses: microsoft/setup-msbuild@v2
62-
with:
63-
vs-version: 'latest'
64-
- name: Setup MPI
65-
uses: mpi4py/setup-mpi@v1
66-
with:
67-
mpi: msmpi
68-
- name: Setup ccache
69-
uses: Chocobo1/setup-ccache-action@v1
70-
with:
71-
windows_compile_environment: msvc
72-
- name: Setup ninja
73-
uses: seanmiddleditch/gha-setup-ninja@v6
74-
- name: Setup MSVC for Ninja again
75-
uses: ilammy/msvc-dev-cmd@v1
45+
- uses: ./.github/actions/setup-windows-toolchain
7646
- name: CMake configure
7747
shell: bash
7848
run: >
@@ -103,14 +73,7 @@ jobs:
10373
shell: bash
10474
steps:
10575
- uses: actions/checkout@v4
106-
- name: Add msbuild to PATH
107-
uses: microsoft/setup-msbuild@v2
108-
with:
109-
vs-version: 'latest'
110-
- name: Setup MPI
111-
uses: mpi4py/setup-mpi@v1
112-
with:
113-
mpi: msmpi
76+
- uses: ./.github/actions/setup-windows-toolchain
11477
- name: Download installed package
11578
uses: actions/download-artifact@v4
11679
with:
@@ -167,14 +130,7 @@ jobs:
167130
shell: bash
168131
steps:
169132
- uses: actions/checkout@v4
170-
- name: Add msbuild to PATH
171-
uses: microsoft/setup-msbuild@v2
172-
with:
173-
vs-version: 'latest'
174-
- name: Setup MPI
175-
uses: mpi4py/setup-mpi@v1
176-
with:
177-
mpi: msmpi
133+
- uses: ./.github/actions/setup-windows-toolchain
178134
- name: Download installed package
179135
uses: actions/download-artifact@v4
180136
with:
@@ -211,24 +167,11 @@ jobs:
211167
- uses: actions/checkout@v4
212168
with:
213169
submodules: recursive
214-
- name: Add msbuild to PATH
215-
uses: microsoft/setup-msbuild@v2
216-
with:
217-
vs-version: 'latest'
170+
- uses: ./.github/actions/setup-windows-toolchain
218171
- name: Setup LLVM
219172
uses: KyleMayes/install-llvm-action@v2
220173
with:
221174
version: "20.1.4"
222-
- name: Setup MPI
223-
uses: mpi4py/setup-mpi@v1
224-
with:
225-
mpi: msmpi
226-
- name: Setup ccache
227-
uses: Chocobo1/setup-ccache-action@v1
228-
with:
229-
windows_compile_environment: msvc
230-
- name: Setup ninja
231-
uses: seanmiddleditch/gha-setup-ninja@v6
232175
- name: CMake configure
233176
run: >
234177
cmake -S . -B build -G Ninja
@@ -265,14 +208,7 @@ jobs:
265208
shell: bash
266209
steps:
267210
- uses: actions/checkout@v4
268-
- name: Add msbuild to PATH
269-
uses: microsoft/setup-msbuild@v2
270-
with:
271-
vs-version: 'latest'
272-
- name: Setup MPI
273-
uses: mpi4py/setup-mpi@v1
274-
with:
275-
mpi: msmpi
211+
- uses: ./.github/actions/setup-windows-toolchain
276212
- name: Download installed package
277213
uses: actions/download-artifact@v4
278214
with:
@@ -309,14 +245,7 @@ jobs:
309245
shell: bash
310246
steps:
311247
- uses: actions/checkout@v4
312-
- name: Add msbuild to PATH
313-
uses: microsoft/setup-msbuild@v2
314-
with:
315-
vs-version: 'latest'
316-
- name: Setup MPI
317-
uses: mpi4py/setup-mpi@v1
318-
with:
319-
mpi: msmpi
248+
- uses: ./.github/actions/setup-windows-toolchain
320249
- name: Download installed package
321250
uses: actions/download-artifact@v4
322251
with:

0 commit comments

Comments
 (0)