[3.12] Integrate build_msi into main CI workflow (GH-121778) (#122231)

(cherry picked from commit af4329e7b1)
This commit is contained in:
Sviatoslav Sydorenko (Святослав Сидоренко) 2024-07-24 15:46:52 +02:00 committed by GitHub
parent 9dad694dc5
commit f8ddebbd44
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 56 additions and 38 deletions

View file

@ -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/get-changed-files@v2.3.0
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: >-
${{

View file

@ -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 }}

View file

@ -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 }}