@@ -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 }} 
3943run_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 }}' 
@@ -111,6 +116,23 @@ jobs:
111116          echo "Branch too old for CIFuzz tests; or no C files were changed" 
112117          echo "run-cifuzz=false" >> "$GITHUB_OUTPUT" 
113118        fi 
119+ 
120+         # Check if changes are Windows-specific 
121+         if [ -z "$GITHUB_BASE_REF" ]; then 
122+           echo "run-windows=true" >> "$GITHUB_OUTPUT" 
123+         else 
124+           # Get changed files 
125+           CHANGED_FILES=$(git diff --name-only "origin/$GITHUB_BASE_REF..") 
126+ 
127+           # Check if changes are only in configure/Makefile files 
128+           if echo "$CHANGED_FILES" | grep -qvE '^(configure.*|Makefile.*|.*\.m4)$'; then 
129+             # Other files changed, run Windows CI 
130+             echo "run-windows=true" >> "$GITHUB_OUTPUT" 
131+           else 
132+             # Only configure/Makefile files changed, skip Windows CI 
133+             echo "run-windows=false" >> "$GITHUB_OUTPUT" 
134+           fi 
135+         fi 
114136name : Compute hash for config cache key 
115137      id : config-hash 
116138      run : | 
0 commit comments