@@ -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 || true }}
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 }}'
@@ -126,6 +131,20 @@ jobs:
126
131
echo "Branch too old for CIFuzz tests; or no C files were changed"
127
132
echo "run-cifuzz=false" >> "$GITHUB_OUTPUT"
128
133
fi
134
+
135
+ if [ "$GITHUB_BASE_REF" = "main" ]; then
136
+ CHANGED_FILES=$(git diff --name-only "origin/$GITHUB_BASE_REF..")
137
+ # Check if changes are ONLY in configure/Makefile files
138
+ if echo "$CHANGED_FILES" | grep -qE '^(configure.*|Makefile(\.pre)?\.in|Makefile|.*\.m4)$' && \
139
+ ! echo "$CHANGED_FILES" | grep -qvE '^(configure.*|Makefile(\.pre)?\.in|Makefile|.*\.m4)$'; then
140
+ # Only configure/Makefile files changed, skip Windows CI
141
+ echo "run-windows=false" >> "$GITHUB_OUTPUT"
142
+ else
143
+ # Other files changed, run Windows CI
144
+ echo "run-windows=true" >> "$GITHUB_OUTPUT"
145
+ fi
146
+ fi
147
+
129
148
- name : Compute hash for config cache key
130
149
id : config-hash
131
150
run : |
0 commit comments