https://github.com/python/cpython/commit/f8ddebbd440e6052f67420e80b3279de2baaabb0
commit: f8ddebbd440e6052f67420e80b3279de2baaabb0
branch: 3.12
author: Sviatoslav Sydorenko (Святослав Сидоренко)
<[email protected]>
committer: hugovk <[email protected]>
date: 2024-07-24T16:46:52+03:00
summary:
[3.12] Integrate `build_msi` into main CI workflow (GH-121778) (#122231)
(cherry picked from commit af4329e7b1a25d58bb92f79480f5059c3683517b)
files:
A .github/workflows/reusable-windows-msi.yml
D .github/workflows/build_msi.yml
M .github/workflows/build.yml
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 17fc270bcc5d03..d599a88cb86af1 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -56,6 +56,7 @@ jobs:
# }}
#
run-docs: ${{ steps.docs-changes.outputs.run-docs || false }}
+ run-win-msi: ${{ steps.win-msi-changes.outputs.run-win-msi || false }}
run_tests: ${{ steps.check.outputs.run_tests || false }}
run_hypothesis: ${{ steps.check.outputs.run_hypothesis || false }}
config_hash: ${{ steps.config_hash.outputs.hash }} # str
@@ -115,6 +116,20 @@ jobs:
id: docs-changes
run: |
echo "run-docs=true" >> "${GITHUB_OUTPUT}"
+ - name: Get a list of the MSI installer-related files
+ 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
+ if: >-
+ steps.changed-win-msi-files.outputs.added_modified_renamed != ''
+ id: win-msi-changes
+ run: |
+ echo "run-win-msi=true" >> "${GITHUB_OUTPUT}"
check-docs:
name: Docs
@@ -255,6 +270,21 @@ 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: check_source
+ if: fromJSON(needs.check_source.outputs.run-win-msi)
+ strategy:
+ matrix:
+ arch:
+ - x86
+ - x64
+ - arm64
+ uses: ./.github/workflows/reusable-windows-msi.yml
+ with:
+ arch: ${{ matrix.arch }}
+
build_macos:
name: 'macOS'
needs: check_source
@@ -532,6 +562,7 @@ jobs:
- build_ubuntu
- build_ubuntu_ssltests
- build_windows
+ - build_windows_msi
- test_hypothesis
- build_asan
- build_tsan
@@ -545,6 +576,7 @@ jobs:
allowed-failures: >-
build_macos,
build_ubuntu_ssltests,
+ build_windows_msi,
test_hypothesis,
allowed-skips: >-
${{
diff --git a/.github/workflows/build_msi.yml b/.github/workflows/build_msi.yml
deleted file mode 100644
index 29282dffa37ec0..00000000000000
--- a/.github/workflows/build_msi.yml
+++ /dev/null
@@ -1,38 +0,0 @@
-name: TestsMSI
-
-on:
- workflow_dispatch:
- push:
- branches:
- - 'main'
- - '3.*'
- paths:
- - 'Tools/msi/**'
- - '.github/workflows/build_msi.yml'
- pull_request:
- branches:
- - 'main'
- - '3.*'
- paths:
- - 'Tools/msi/**'
- - '.github/workflows/build_msi.yml'
-
-permissions:
- contents: read
-
-concurrency:
- group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
- cancel-in-progress: true
-
-jobs:
- build:
- name: Windows Installer
- runs-on: windows-latest
- timeout-minutes: 60
- strategy:
- matrix:
- type: [x86, x64, arm64]
- steps:
- - uses: actions/checkout@v4
- - name: Build CPython installer
- run: .\Tools\msi\build.bat --doc -${{ matrix.type }}
diff --git a/.github/workflows/reusable-windows-msi.yml
b/.github/workflows/reusable-windows-msi.yml
new file mode 100644
index 00000000000000..fc34ab7c3eb1f2
--- /dev/null
+++ b/.github/workflows/reusable-windows-msi.yml
@@ -0,0 +1,24 @@
+name: TestsMSI
+
+on:
+ workflow_call:
+ inputs:
+ arch:
+ description: CPU architecture
+ required: true
+ type: string
+
+permissions:
+ contents: read
+
+jobs:
+ build:
+ name: installer for ${{ inputs.arch }}
+ runs-on: windows-latest
+ timeout-minutes: 60
+ env:
+ IncludeFreethreaded: true
+ steps:
+ - uses: actions/checkout@v4
+ - name: Build CPython installer
+ run: .\Tools\msi\build.bat --doc -${{ inputs.arch }}
_______________________________________________
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]