@@ -36,6 +36,10 @@ on: # yamllint disable-line rule:truthy
36
36
description : Whether to run the MSI installer smoke tests
37
37
value : >- # bool
38
38
${{ 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 }}
39
43
run_hypothesis :
40
44
description : Whether to run the Hypothesis tests
41
45
value : >- # bool
57
61
run-hypothesis : ${{ steps.check.outputs.run-hypothesis }}
58
62
run-tests : ${{ steps.check.outputs.run-tests }}
59
63
run-win-msi : ${{ steps.win-msi-changes.outputs.run-win-msi }}
64
+ run-windows : ${{ steps.check.outputs.run-windows }}
60
65
steps :
61
66
- run : >-
62
67
echo '${{ github.event_name }}'
@@ -111,6 +116,23 @@ jobs:
111
116
echo "Branch too old for CIFuzz tests; or no C files were changed"
112
117
echo "run-cifuzz=false" >> "$GITHUB_OUTPUT"
113
118
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
114
136
- name : Compute hash for config cache key
115
137
id : config-hash
116
138
run : |
0 commit comments