@@ -36,6 +36,10 @@ on: # yamllint disable-line rule:truthy
3636 description : Whether to run the MSI installer smoke tests
3737 value : >- # bool
3838 ${{ jobs.compute-changes.outputs.run-win-msi || false }}
39+ run-windows :
40+ description : Whether to run the Windows CI
41+ value : >- # bool
42+ ${{ jobs.compute-changes.outputs.run-windows || false }}
3943 run_hypothesis :
4044 description : Whether to run the Hypothesis tests
4145 value : >- # bool
5761 run-hypothesis : ${{ steps.check.outputs.run-hypothesis }}
5862 run-tests : ${{ steps.check.outputs.run-tests }}
5963 run-win-msi : ${{ steps.win-msi-changes.outputs.run-win-msi }}
64+ run-windows : ${{ steps.check.outputs.run-windows }}
6065 steps :
6166 - run : >-
6267 echo '${{ github.event_name }}'
@@ -126,6 +131,23 @@ jobs:
126131 echo "Branch too old for CIFuzz tests; or no C files were changed"
127132 echo "run-cifuzz=false" >> "$GITHUB_OUTPUT"
128133 fi
134+
135+ # Check if changes are Windows-specific
136+ if [ -z "$GITHUB_BASE_REF" ]; then
137+ echo "run-windows=true" >> "$GITHUB_OUTPUT"
138+ else
139+ # Get changed files
140+ CHANGED_FILES=$(git diff --name-only "origin/$GITHUB_BASE_REF..")
141+
142+ # Check if changes are only in configure/Makefile files
143+ if echo "$CHANGED_FILES" | grep -qvE '^(configure.*|Makefile.*|.*\.m4)$'; then
144+ # Other files changed, run Windows CI
145+ echo "run-windows=true" >> "$GITHUB_OUTPUT"
146+ else
147+ # Only configure/Makefile files changed, skip Windows CI
148+ echo "run-windows=false" >> "$GITHUB_OUTPUT"
149+ fi
150+ fi
129151 - name : Compute hash for config cache key
130152 id : config-hash
131153 run : |
0 commit comments