@@ -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 }}'
@@ -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
114136 - name : Compute hash for config cache key
115137 id : config-hash
116138 run : |
0 commit comments