|
|
|
@@ -20,7 +20,7 @@ on:
|
|
|
|
|
PLATFORMS:
|
|
|
|
|
description: 'Platforms for execution in "os" or "os_arch" format (arch is "x64" by default)'
|
|
|
|
|
required: true
|
|
|
|
|
default: 'ubuntu-22.04,ubuntu-22.04_arm64,ubuntu-24.04,ubuntu-24.04_arm64,macos-13_x64,macos-14_arm64,windows-2022_x64,windows-2022_x86,windows-11_arm64'
|
|
|
|
|
default: 'ubuntu-22.04,ubuntu-22.04_arm64,ubuntu-24.04,ubuntu-24.04_arm64,macos-15-intel_x64,macos-14_arm64,windows-2022_x64,windows-2022_x86,windows-2022_arm64'
|
|
|
|
|
pull_request:
|
|
|
|
|
paths-ignore:
|
|
|
|
|
- 'versions-manifest.json'
|
|
|
|
@@ -44,7 +44,7 @@ jobs:
|
|
|
|
|
- name: Generate execution matrix
|
|
|
|
|
id: generate-matrix
|
|
|
|
|
run: |
|
|
|
|
|
[String[]]$configurations = "${{ inputs.platforms || 'ubuntu-22.04,ubuntu-22.04_arm64,ubuntu-24.04,ubuntu-24.04_arm64,macos-13,macos-14_arm64,windows-2022_x64,windows-2022_x86,windows-11_arm64' }}".Split(",").Trim()
|
|
|
|
|
[String[]]$configurations = "${{ inputs.platforms || 'ubuntu-22.04,ubuntu-22.04_arm64,ubuntu-24.04,ubuntu-24.04_arm64,macos-15-intel,macos-14_arm64,windows-2022_x64,windows-2022_x86,windows-2022_arm64' }}".Split(",").Trim()
|
|
|
|
|
[String[]]$buildModes = "${{ inputs.threading_build_modes || 'default' }}".Split(",").Trim()
|
|
|
|
|
$matrix = @()
|
|
|
|
|
|
|
|
|
@@ -56,7 +56,11 @@ jobs:
|
|
|
|
|
switch -wildcard ($os) {
|
|
|
|
|
"*ubuntu*" { $platform = $os.Replace("ubuntu","linux"); if ($arch -eq "arm64" ) { $os = "${os}-arm" } }
|
|
|
|
|
"*macos*" { $platform = 'darwin' }
|
|
|
|
|
"*windows*" { $platform = 'win32'; if ($arch -eq "arm64" ) { $os = "${os}-arm" } }
|
|
|
|
|
"*windows*" { $platform = 'win32' }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ($configuration -eq "windows-2022_arm64") {
|
|
|
|
|
$os = "setup-actions-windows-arm64-4-core"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ($buildMode -eq "freethreaded") {
|
|
|
|
@@ -85,15 +89,35 @@ jobs:
|
|
|
|
|
env:
|
|
|
|
|
ARTIFACT_NAME: python-${{ inputs.VERSION || '3.13.7' }}-${{ matrix.platform }}-${{ matrix.arch }}
|
|
|
|
|
steps:
|
|
|
|
|
- name: Setup Environment on Windows ARM64 Runner
|
|
|
|
|
if: matrix.os == 'setup-actions-windows-arm64-4-core'
|
|
|
|
|
shell: powershell
|
|
|
|
|
run: |
|
|
|
|
|
# Install Chocolatey
|
|
|
|
|
Set-ExecutionPolicy Bypass -Scope Process -Force
|
|
|
|
|
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
|
|
|
|
|
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
|
|
|
|
|
echo "C:\ProgramData\Chocolatey\bin" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
|
|
|
|
|
|
|
|
|
|
# Install PowerShell
|
|
|
|
|
choco install powershell-core -y
|
|
|
|
|
echo "C:\Program Files\PowerShell\7" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
|
|
|
|
|
|
|
|
|
|
# Install Git
|
|
|
|
|
choco install git -y
|
|
|
|
|
echo "C:\Program Files\Git\cmd" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Install 7-Zip
|
|
|
|
|
choco install 7zip -y
|
|
|
|
|
echo "C:\ProgramData\chocolatey\bin" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- name: Check out repository code
|
|
|
|
|
uses: actions/checkout@v5
|
|
|
|
|
with:
|
|
|
|
|
submodules: true
|
|
|
|
|
|
|
|
|
|
- name: Adding Symlink
|
|
|
|
|
if: matrix.os == 'macos-13'
|
|
|
|
|
run: ln -sf /usr/local/opt/tcl-tk@8 /usr/local/opt/tcl-tk
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- name: Build Python ${{ env.VERSION }}
|
|
|
|
|
run: |
|
|
|
|
|
./builders/build-python.ps1 -Version $env:VERSION `
|
|
|
|
@@ -116,6 +140,29 @@ jobs:
|
|
|
|
|
env:
|
|
|
|
|
ARTIFACT_NAME: python-${{ inputs.VERSION || '3.13.7' }}-${{ matrix.platform }}-${{ matrix.arch }}
|
|
|
|
|
steps:
|
|
|
|
|
- name: Setup Environment on Windows ARM64 Runner
|
|
|
|
|
if: matrix.os == 'setup-actions-windows-arm64-4-core'
|
|
|
|
|
shell: powershell
|
|
|
|
|
run: |
|
|
|
|
|
# Install Chocolatey
|
|
|
|
|
Set-ExecutionPolicy Bypass -Scope Process -Force
|
|
|
|
|
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
|
|
|
|
|
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
|
|
|
|
|
echo "C:\ProgramData\Chocolatey\bin" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
|
|
|
|
|
|
|
|
|
|
# Install PowerShell
|
|
|
|
|
choco install powershell-core -y
|
|
|
|
|
echo "C:\Program Files\PowerShell\7" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
|
|
|
|
|
|
|
|
|
|
# Install Git
|
|
|
|
|
choco install git -y
|
|
|
|
|
echo "C:\Program Files\Git\cmd" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Install 7-Zip
|
|
|
|
|
choco install 7zip -y
|
|
|
|
|
echo "C:\ProgramData\chocolatey\bin" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
|
|
|
|
|
|
|
|
|
|
- name: Check out repository code
|
|
|
|
|
uses: actions/checkout@v5
|
|
|
|
|
with:
|
|
|
|
|