Skip to content

Commit 85bb8b4

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 7982363 commit 85bb8b4

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
@@ -28,6 +28,7 @@ jobs:
2828
timeout-minutes: 10
2929
outputs:
3030
run-docs: ${{ steps.docs-changes.outputs.run-docs || false }}
31+
run-win-msi: ${{ steps.win-msi-changes.outputs.run-win-msi || false }}
3132
run_tests: ${{ steps.check.outputs.run_tests }}
3233
run_hypothesis: ${{ steps.check.outputs.run_hypothesis }}
3334
run_cifuzz: ${{ steps.check.outputs.run_cifuzz }}
@@ -103,6 +104,20 @@ jobs:
103104
id: docs-changes
104105
run: |
105106
echo "run-docs=true" >> "${GITHUB_OUTPUT}"
107+
- name: Get a list of the MSI installer-related files
108+
id: changed-win-msi-files
109+
uses: Ana06/[email protected]
110+
with:
111+
filter: |
112+
Tools/msi/**
113+
.github/workflows/reusable-windows-msi.yml
114+
format: csv # works for paths with spaces
115+
- name: Check for docs changes
116+
if: >-
117+
steps.changed-win-msi-files.outputs.added_modified_renamed != ''
118+
id: win-msi-changes
119+
run: |
120+
echo "run-win-msi=true" >> "${GITHUB_OUTPUT}"
106121
107122
check-docs:
108123
name: Docs
@@ -198,6 +213,21 @@ jobs:
198213
arch: ${{ matrix.arch }}
199214
free-threading: ${{ matrix.free-threading }}
200215

216+
build_windows_msi:
217+
name: >- # ${{ '' } is a hack to nest jobs under the same sidebar category
218+
📦 Windows MSI${{ '' }}
219+
needs: check_source
220+
if: fromJSON(needs.check_source.outputs.run-win-msi)
221+
strategy:
222+
matrix:
223+
arch:
224+
- x86
225+
- x64
226+
- arm64
227+
uses: ./.github/workflows/reusable-windows-msi.yml
228+
with:
229+
arch: ${{ matrix.arch }}
230+
201231
build_macos:
202232
name: 'macOS'
203233
needs: check_source
@@ -562,6 +592,7 @@ jobs:
562592
- build_ubuntu_ssltests
563593
- build_wasi
564594
- build_windows
595+
- build_windows_msi
565596
- test_hypothesis
566597
- build_asan
567598
- build_tsan
@@ -576,6 +607,7 @@ jobs:
576607
with:
577608
allowed-failures: >-
578609
build_ubuntu_ssltests,
610+
build_windows_msi,
579611
cifuzz,
580612
test_hypothesis,
581613
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: Windows 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)