Skip to content

Commit 662c1a5

Browse files
committed
🧪💅 Integrate build_msi into main CI workflow
Previously, this workflow would run on related file changes and not contribute the the overall outcome of the CI run. This patch turns it into a reusable workflow, integrating it closer with the rest of the setup. It remains non-voting and skips or failures will not block the CI, just as before.
1 parent 4e35dd6 commit 662c1a5

File tree

3 files changed

+56
-40
lines changed

3 files changed

+56
-40
lines changed

‎.github/workflows/build.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ jobs:
4848
# }}
4949
#
5050
run-docs: ${{ steps.docs-changes.outputs.run-docs || false }}
51+
run-win-msi: ${{ steps.win-msi-changes.outputs.run-win-msi || false }}
5152
run_tests: ${{ steps.check.outputs.run_tests || false }}
5253
run_hypothesis: ${{ steps.check.outputs.run_hypothesis || false }}
5354
run_cifuzz: ${{ steps.check.outputs.run_cifuzz || false }}
@@ -123,6 +124,20 @@ jobs:
123124
id: docs-changes
124125
run: |
125126
echo "run-docs=true" >> "${GITHUB_OUTPUT}"
127+
- name: Get a list of the MSI installer-related files
128+
id: changed-win-msi-files
129+
uses: Ana06/[email protected]
130+
with:
131+
filter: |
132+
Tools/msi/**
133+
.github/workflows/reusable-windows-msi.yml
134+
format: csv # works for paths with spaces
135+
- name: Check for docs changes
136+
if: >-
137+
steps.changed-win-msi-files.outputs.added_modified_renamed != ''
138+
id: win-msi-changes
139+
run: |
140+
echo "run-win-msi=true" >> "${GITHUB_OUTPUT}"
126141
127142
check-docs:
128143
name: Docs
@@ -218,6 +233,21 @@ jobs:
218233
arch: ${{ matrix.arch }}
219234
free-threading: ${{ matrix.free-threading }}
220235

236+
build_windows_msi:
237+
name: >- # ${{ '' } is a hack to nest jobs under the same sidebar category
238+
📦 Windows MSI${{ '' }}
239+
needs: check_source
240+
if: fromJSON(needs.check_source.outputs.run-win-msi)
241+
strategy:
242+
matrix:
243+
arch:
244+
- x86
245+
- x64
246+
- arm64
247+
uses: ./.github/workflows/reusable-windows-msi.yml
248+
with:
249+
arch: ${{ matrix.arch }}
250+
221251
build_macos:
222252
name: 'macOS'
223253
needs: check_source
@@ -582,6 +612,7 @@ jobs:
582612
- build_ubuntu_ssltests
583613
- build_wasi
584614
- build_windows
615+
- build_windows_msi
585616
- test_hypothesis
586617
- build_asan
587618
- build_tsan
@@ -596,6 +627,7 @@ jobs:
596627
with:
597628
allowed-failures: >-
598629
build_ubuntu_ssltests,
630+
build_windows_msi,
599631
cifuzz,
600632
test_hypothesis,
601633
allowed-skips: >-

‎.github/workflows/build_msi.yml

Lines changed: 0 additions & 40 deletions
This file was deleted.
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: TestsMSI
2+
3+
on:
4+
workflow_call:
5+
inputs:
6+
arch:
7+
description: CPU architecture
8+
required: true
9+
type: string
10+
11+
permissions:
12+
contents: read
13+
14+
jobs:
15+
build:
16+
name: installer for ${{ inputs.arch }}
17+
runs-on: windows-latest
18+
timeout-minutes: 60
19+
env:
20+
IncludeFreethreaded: true
21+
steps:
22+
- uses: actions/checkout@v4
23+
- name: Build CPython installer
24+
run: .\Tools\msi\build.bat --doc -${{ inputs.arch }}

0 commit comments

Comments
 (0)