https://github.com/python/cpython/commit/66dd17953df6637c136b2a8f0f72dc9db2fb1ae4
commit: 66dd17953df6637c136b2a8f0f72dc9db2fb1ae4
branch: 3.12
author: Hugo van Kemenade <[email protected]>
committer: hugovk <[email protected]>
date: 2026-04-02T15:53:27+03:00
summary:
[3.12] Remove MSI build from security-only branch (#148007)
files:
D .github/workflows/reusable-windows-msi.yml
M .github/workflows/build.yml
M .github/workflows/reusable-change-detection.yml
M .github/workflows/reusable-context.yml
M Tools/build/compute-changes.py
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 2294f5151c14a2..d13ce4c1abdb67 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -215,22 +215,6 @@ jobs:
arch: ${{ matrix.arch }}
free-threading: ${{ matrix.free-threading }}
- build-windows-msi:
- name: >- # ${{ '' } is a hack to nest jobs under the same sidebar category
- Windows MSI${{ '' }}
- needs: build-context
- if: fromJSON(needs.build-context.outputs.run-windows-msi)
- strategy:
- fail-fast: false
- matrix:
- arch:
- - x86
- - x64
- - arm64
- uses: ./.github/workflows/reusable-windows-msi.yml
- with:
- arch: ${{ matrix.arch }}
-
build-macos:
name: >-
macOS
@@ -539,7 +523,6 @@ jobs:
- check-autoconf-regen
- check-generated-files
- build-windows
- - build-windows-msi
- build-macos
- build-ubuntu
- build-ubuntu-ssltests
@@ -553,7 +536,6 @@ jobs:
uses: re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe
with:
allowed-failures: >-
- build-windows-msi,
build-ubuntu-ssltests,
test-hypothesis,
allowed-skips: >-
diff --git a/.github/workflows/reusable-change-detection.yml
b/.github/workflows/reusable-change-detection.yml
index 2a421673c700cc..10b829d334ab33 100644
--- a/.github/workflows/reusable-change-detection.yml
+++ b/.github/workflows/reusable-change-detection.yml
@@ -32,10 +32,6 @@ on: # yamllint disable-line rule:truthy
run_tests:
description: Whether to run the regular tests
value: ${{ jobs.compute-changes.outputs.run-tests || false }} # bool
- run-win-msi:
- description: Whether to run the MSI installer smoke tests
- value: >- # bool
- ${{ jobs.compute-changes.outputs.run-win-msi || false }}
run_hypothesis:
description: Whether to run the Hypothesis tests
value: >- # bool
@@ -56,7 +52,6 @@ jobs:
run-docs: ${{ steps.docs-changes.outputs.run-docs }}
run-hypothesis: ${{ steps.check.outputs.run-hypothesis }}
run-tests: ${{ steps.check.outputs.run-tests }}
- run-win-msi: ${{ steps.win-msi-changes.outputs.run-win-msi }}
steps:
- run: >-
echo '${{ github.event_name }}'
@@ -136,23 +131,3 @@ jobs:
id: docs-changes
run: |
echo "run-docs=true" >> "${GITHUB_OUTPUT}"
- - name: Get a list of the MSI installer-related files
- if: github.event_name == 'pull_request'
- id: changed-win-msi-files
- uses: Ana06/[email protected]
- with:
- filter: |
- Tools/msi/**
- .github/workflows/reusable-windows-msi.yml
- format: csv # works for paths with spaces
- - name: Check for changes in MSI installer-related files
- # We only want to run this on PRs when related files are changed,
- # or when user triggers manual workflow run.
- if: >-
- (
- github.event_name == 'pull_request'
- && steps.changed-win-msi-files.outputs.added_modified_renamed != ''
- ) || github.event_name == 'workflow_dispatch'
- id: win-msi-changes
- run: |
- echo "run-win-msi=true" >> "${GITHUB_OUTPUT}"
diff --git a/.github/workflows/reusable-context.yml
b/.github/workflows/reusable-context.yml
index 9786742dad6a67..66d56805ce51fa 100644
--- a/.github/workflows/reusable-context.yml
+++ b/.github/workflows/reusable-context.yml
@@ -29,9 +29,6 @@ on: # yamllint disable-line rule:truthy
run-windows-tests:
description: Whether to run the Windows tests
value: ${{ jobs.compute-changes.outputs.run-windows-tests }} # bool
- run-windows-msi:
- description: Whether to run the MSI installer smoke tests
- value: ${{ jobs.compute-changes.outputs.run-windows-msi }} # bool
run-ci-fuzz:
description: Whether to run the CIFuzz job
value: ${{ jobs.compute-changes.outputs.run-ci-fuzz }} # bool
@@ -46,7 +43,6 @@ jobs:
run-ci-fuzz: ${{ steps.changes.outputs.run-ci-fuzz }}
run-docs: ${{ steps.changes.outputs.run-docs }}
run-tests: ${{ steps.changes.outputs.run-tests }}
- run-windows-msi: ${{ steps.changes.outputs.run-windows-msi }}
run-windows-tests: ${{ steps.changes.outputs.run-windows-tests }}
steps:
- name: Set up Python
diff --git a/.github/workflows/reusable-windows-msi.yml
b/.github/workflows/reusable-windows-msi.yml
deleted file mode 100644
index b5bacabb392262..00000000000000
--- a/.github/workflows/reusable-windows-msi.yml
+++ /dev/null
@@ -1,31 +0,0 @@
-name: Reusable Windows MSI
-
-on:
- workflow_call:
- inputs:
- arch:
- description: CPU architecture
- required: true
- type: string
-
-permissions:
- contents: read
-
-env:
- FORCE_COLOR: 1
-
-jobs:
- build:
- name: installer for ${{ inputs.arch }}
- runs-on: windows-2022
- timeout-minutes: 60
- env:
- ARCH: ${{ inputs.arch }}
- IncludeFreethreaded: true
- steps:
- - uses: actions/checkout@v6
- with:
- persist-credentials: false
- - name: Build CPython installer
- run: ./Tools/msi/build.bat --doc -"${ARCH}"
- shell: bash
diff --git a/Tools/build/compute-changes.py b/Tools/build/compute-changes.py
index b5993d29b92972..a4d006e1c845d2 100644
--- a/Tools/build/compute-changes.py
+++ b/Tools/build/compute-changes.py
@@ -51,7 +51,6 @@ class Outputs:
run_ci_fuzz: bool = False
run_docs: bool = False
run_tests: bool = False
- run_windows_msi: bool = False
run_windows_tests: bool = False
@@ -79,9 +78,6 @@ def compute_changes() -> None:
if outputs.run_docs:
print("Build documentation")
- if outputs.run_windows_msi:
- print("Build Windows MSI")
-
print(outputs)
write_github_output(outputs)
@@ -116,7 +112,6 @@ def process_changed_files(changed_files: Set[Path]) ->
Outputs:
run_ci_fuzz = False
run_docs = False
run_windows_tests = False
- run_windows_msi = False
for file in changed_files:
# Documentation files
@@ -128,8 +123,6 @@ def process_changed_files(changed_files: Set[Path]) ->
Outputs:
run_tests = run_ci_fuzz = True
if file.name == "reusable-docs.yml":
run_docs = True
- if file.name == "reusable-windows-msi.yml":
- run_windows_msi = True
if not (
doc_file
@@ -155,16 +148,11 @@ def process_changed_files(changed_files: Set[Path]) ->
Outputs:
if doc_file:
run_docs = True
- # Check for changed MSI installer-related files
- if file.parts[:2] == ("Tools", "msi"):
- run_windows_msi = True
-
return Outputs(
run_ci_fuzz=run_ci_fuzz,
run_docs=run_docs,
run_tests=run_tests,
run_windows_tests=run_windows_tests,
- run_windows_msi=run_windows_msi,
)
@@ -178,7 +166,6 @@ def process_target_branch(outputs: Outputs, git_branch:
str) -> Outputs:
if os.environ.get("GITHUB_EVENT_NAME", "").lower() == "workflow_dispatch":
outputs.run_docs = True
- outputs.run_windows_msi = True
return outputs
@@ -195,7 +182,6 @@ def write_github_output(outputs: Outputs) -> None:
f.write(f"run-docs={bool_lower(outputs.run_docs)}\n")
f.write(f"run-tests={bool_lower(outputs.run_tests)}\n")
f.write(f"run-windows-tests={bool_lower(outputs.run_windows_tests)}\n")
- f.write(f"run-windows-msi={bool_lower(outputs.run_windows_msi)}\n")
def bool_lower(value: bool, /) -> str:
_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]