56
56
# }}
57
57
#
58
58
run-docs : ${{ steps.docs-changes.outputs.run-docs || false }}
59
+ run-win-msi : ${{ steps.win-msi-changes.outputs.run-win-msi || false }}
59
60
run_tests : ${{ steps.check.outputs.run_tests || false }}
60
61
run_hypothesis : ${{ steps.check.outputs.run_hypothesis || false }}
61
62
config_hash : ${{ steps.config_hash.outputs.hash }} # str
@@ -115,6 +116,20 @@ jobs:
115
116
id : docs-changes
116
117
run : |
117
118
echo "run-docs=true" >> "${GITHUB_OUTPUT}"
119
+ - name : Get a list of the MSI installer-related files
120
+ id : changed-win-msi-files
121
+
122
+ with :
123
+ filter : |
124
+ Tools/msi/**
125
+ .github/workflows/reusable-windows-msi.yml
126
+ format : csv # works for paths with spaces
127
+ - name : Check for changes in MSI installer-related files
128
+ if : >-
129
+ steps.changed-win-msi-files.outputs.added_modified_renamed != ''
130
+ id : win-msi-changes
131
+ run : |
132
+ echo "run-win-msi=true" >> "${GITHUB_OUTPUT}"
118
133
119
134
check-docs :
120
135
name : Docs
@@ -255,6 +270,21 @@ jobs:
255
270
arch : ${{ matrix.arch }}
256
271
free-threading : ${{ matrix.free-threading }}
257
272
273
+ build_windows_msi :
274
+ name : >- # ${{ '' } is a hack to nest jobs under the same sidebar category
275
+ Windows MSI${{ '' }}
276
+ needs : check_source
277
+ if : fromJSON(needs.check_source.outputs.run-win-msi)
278
+ strategy :
279
+ matrix :
280
+ arch :
281
+ - x86
282
+ - x64
283
+ - arm64
284
+ uses : ./.github/workflows/reusable-windows-msi.yml
285
+ with :
286
+ arch : ${{ matrix.arch }}
287
+
258
288
build_macos :
259
289
name : ' macOS'
260
290
needs : check_source
@@ -532,6 +562,7 @@ jobs:
532
562
- build_ubuntu
533
563
- build_ubuntu_ssltests
534
564
- build_windows
565
+ - build_windows_msi
535
566
- test_hypothesis
536
567
- build_asan
537
568
- build_tsan
@@ -545,6 +576,7 @@ jobs:
545
576
allowed-failures : >-
546
577
build_macos,
547
578
build_ubuntu_ssltests,
579
+ build_windows_msi,
548
580
test_hypothesis,
549
581
allowed-skips : >-
550
582
${{
0 commit comments