48
48
# }}
49
49
#
50
50
run-docs : ${{ steps.docs-changes.outputs.run-docs || false }}
51
+ run-win-msi : ${{ steps.win-msi-changes.outputs.run-win-msi || false }}
51
52
run_tests : ${{ steps.check.outputs.run_tests || false }}
52
53
run_hypothesis : ${{ steps.check.outputs.run_hypothesis || false }}
53
54
run_cifuzz : ${{ steps.check.outputs.run_cifuzz || false }}
@@ -123,6 +124,20 @@ jobs:
123
124
id : docs-changes
124
125
run : |
125
126
echo "run-docs=true" >> "${GITHUB_OUTPUT}"
127
+ - name : Get a list of the MSI installer-related files
128
+ id : changed-win-msi-files
129
+
130
+ with :
131
+ filter : |
132
+ Tools/msi/**
133
+ .github/workflows/reusable-windows-msi.yml
134
+ format : csv # works for paths with spaces
135
+ - name : Check for changes in MSI installer-related files
136
+ if : >-
137
+ steps.changed-win-msi-files.outputs.added_modified_renamed != ''
138
+ id : win-msi-changes
139
+ run : |
140
+ echo "run-win-msi=true" >> "${GITHUB_OUTPUT}"
126
141
127
142
check-docs :
128
143
name : Docs
@@ -218,6 +233,21 @@ jobs:
218
233
arch : ${{ matrix.arch }}
219
234
free-threading : ${{ matrix.free-threading }}
220
235
236
+ build_windows_msi :
237
+ name : >- # ${{ '' } is a hack to nest jobs under the same sidebar category
238
+ Windows MSI${{ '' }}
239
+ needs : check_source
240
+ if : fromJSON(needs.check_source.outputs.run-win-msi)
241
+ strategy :
242
+ matrix :
243
+ arch :
244
+ - x86
245
+ - x64
246
+ - arm64
247
+ uses : ./.github/workflows/reusable-windows-msi.yml
248
+ with :
249
+ arch : ${{ matrix.arch }}
250
+
221
251
build_macos :
222
252
name : ' macOS'
223
253
needs : check_source
@@ -571,6 +601,7 @@ jobs:
571
601
- build_ubuntu_ssltests
572
602
- build_wasi
573
603
- build_windows
604
+ - build_windows_msi
574
605
- test_hypothesis
575
606
- build_asan
576
607
- build_tsan
@@ -585,6 +616,7 @@ jobs:
585
616
with :
586
617
allowed-failures : >-
587
618
build_ubuntu_ssltests,
619
+ build_windows_msi,
588
620
cifuzz,
589
621
test_hypothesis,
590
622
allowed-skips : >-
0 commit comments