Skip to content

Commit d1f2c08

Browse files
committed
pythongh-128446: Skip Windows CI for configure/Makefile changes
1 parent f21af18 commit d1f2c08

File tree

2 files changed

+24
-2
lines changed

2 files changed

+24
-2
lines changed

.github/workflows/build.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ jobs:
151151
Windows
152152
${{ fromJSON(matrix.free-threading) && '(free-threading)' || '' }}
153153
needs: check_source
154-
if: fromJSON(needs.check_source.outputs.run_tests)
154+
if: fromJSON(needs.check_source.outputs.run_tests) && fromJSON(needs.check_source.outputs.run-windows)
155155
strategy:
156156
fail-fast: false
157157
matrix:
@@ -182,7 +182,7 @@ jobs:
182182
name: >- # ${{ '' } is a hack to nest jobs under the same sidebar category
183183
Windows MSI${{ '' }}
184184
needs: check_source
185-
if: fromJSON(needs.check_source.outputs.run-win-msi)
185+
if: fromJSON(needs.check_source.outputs.run-win-msi) && fromJSON(needs.check_source.outputs.run-windows)
186186
strategy:
187187
matrix:
188188
arch:

.github/workflows/reusable-change-detection.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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
@@ -57,6 +61,7 @@ jobs:
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

Comments
 (0)