4848 # }}
4949 #
5050 run-docs : ${{ steps.docs-changes.outputs.run-docs || false }}
51+ run-win-msi : ${{ steps.win-msi-changes.outputs.run-win-msi || false }}
5152 run_tests : ${{ steps.check.outputs.run_tests || false }}
5253 run_hypothesis : ${{ steps.check.outputs.run_hypothesis || false }}
5354 run_cifuzz : ${{ steps.check.outputs.run_cifuzz || false }}
@@ -123,6 +124,20 @@ jobs:
123124 id : docs-changes
124125 run : |
125126 echo "run-docs=true" >> "${GITHUB_OUTPUT}"
127+ - name : Get a list of the MSI installer-related files
128+ id : changed-win-msi-files
129+ uses : Ana06/get-changed-files@v2.3.0
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}"
126141
127142 check-docs :
128143 name : Docs
@@ -218,6 +233,21 @@ jobs:
218233 arch : ${{ matrix.arch }}
219234 free-threading : ${{ matrix.free-threading }}
220235
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+
221251 build_macos :
222252 name : ' macOS'
223253 needs : check_source
@@ -571,6 +601,7 @@ jobs:
571601 - build_ubuntu_ssltests
572602 - build_wasi
573603 - build_windows
604+ - build_windows_msi
574605 - test_hypothesis
575606 - build_asan
576607 - build_tsan
@@ -585,6 +616,7 @@ jobs:
585616 with :
586617 allowed-failures : >-
587618 build_ubuntu_ssltests,
619+ build_windows_msi,
588620 cifuzz,
589621 test_hypothesis,
590622 allowed-skips : >-
0 commit comments