mirror of
https://github.com/actions/python-versions.git
synced 2025-12-15 15:32:11 +00:00
Compare commits
32 Commits
windows-ar
...
3.10.16-12
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1c71e7fbce | ||
|
|
75c061081b | ||
|
|
e50bc1c2bf | ||
|
|
4fd1d81fcf | ||
|
|
acd80ba7b4 | ||
|
|
5bbc2cab12 | ||
|
|
771cbab387 | ||
|
|
7069021fff | ||
|
|
d8ae6ee095 | ||
|
|
dd24c2e5e7 | ||
|
|
48bcef9764 | ||
|
|
5d096de548 | ||
|
|
b0ba1dbe1e | ||
|
|
8eb4ff3a92 | ||
|
|
98e79473eb | ||
|
|
16955773ac | ||
|
|
c41d908608 | ||
|
|
8dd72e5592 | ||
|
|
b8cfd51f65 | ||
|
|
bb9054d05d | ||
|
|
c8a840c660 | ||
|
|
b423327e4a | ||
|
|
2f8ab97baf | ||
|
|
9d3be767fc | ||
|
|
80d68b2b90 | ||
|
|
2438e271b9 | ||
|
|
3970f04eb4 | ||
|
|
57f2d897a8 | ||
|
|
0c9a1f7cd6 | ||
|
|
0e5f00e5d0 | ||
|
|
1d2e861434 | ||
|
|
d55f04f8e6 |
69
.github/workflows/build-python-packages.yml
vendored
69
.github/workflows/build-python-packages.yml
vendored
@@ -15,7 +15,7 @@ on:
|
|||||||
PLATFORMS:
|
PLATFORMS:
|
||||||
description: 'Platforms for execution in "os" or "os_arch" format (arch is "x64" by default)'
|
description: 'Platforms for execution in "os" or "os_arch" format (arch is "x64" by default)'
|
||||||
required: true
|
required: true
|
||||||
default: 'ubuntu-20.04,ubuntu-20.04_arm64,ubuntu-22.04,ubuntu-22.04_arm64,ubuntu-24.04,ubuntu-24.04_arm64,macos-11_x64,macos-14_arm64,windows-2019_x64,windows-2019_x86'
|
default: 'ubuntu-20.04,ubuntu-22.04,ubuntu-22.04_arm64,ubuntu-24.04,ubuntu-24.04_arm64,macos-13_x64,macos-14_arm64,windows-2019_x64,windows-2019_x86,windows-2019_arm64'
|
||||||
pull_request:
|
pull_request:
|
||||||
paths-ignore:
|
paths-ignore:
|
||||||
- 'versions-manifest.json'
|
- 'versions-manifest.json'
|
||||||
@@ -39,9 +39,9 @@ jobs:
|
|||||||
- name: Generate execution matrix
|
- name: Generate execution matrix
|
||||||
id: generate-matrix
|
id: generate-matrix
|
||||||
run: |
|
run: |
|
||||||
[String[]]$configurations = "${{ inputs.platforms || 'ubuntu-20.04,ubuntu-20.04_arm64,ubuntu-22.04,ubuntu-22.04_arm64,ubuntu-24.04,ubuntu-24.04_arm64,macos-11,macos-14_arm64,windows-2019_x64,windows-2019_x86' }}".Split(",").Trim()
|
[String[]]$configurations = "${{ inputs.platforms || 'ubuntu-20.04,ubuntu-22.04,ubuntu-22.04_arm64,ubuntu-24.04,ubuntu-24.04_arm64,macos-13,macos-14_arm64,windows-2019_x64,windows-2019_x86,windows-2019_arm64' }}".Split(",").Trim()
|
||||||
$matrix = @()
|
$matrix = @()
|
||||||
|
|
||||||
foreach ($configuration in $configurations) {
|
foreach ($configuration in $configurations) {
|
||||||
$parts = $configuration.Split("_")
|
$parts = $configuration.Split("_")
|
||||||
$os = $parts[0]
|
$os = $parts[0]
|
||||||
@@ -51,6 +51,17 @@ jobs:
|
|||||||
"*macos*" { $platform = 'darwin' }
|
"*macos*" { $platform = 'darwin' }
|
||||||
"*windows*" { $platform = 'win32' }
|
"*windows*" { $platform = 'win32' }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($configuration -eq "ubuntu-22.04_arm64") {
|
||||||
|
$os = "setup-actions-ubuntu-arm64-2-core"
|
||||||
|
}
|
||||||
|
elseif ($configuration -eq "ubuntu-24.04_arm64") {
|
||||||
|
$os = "setup-actions-ubuntu24-arm64-2-core"
|
||||||
|
}
|
||||||
|
elseif ($configuration -eq "windows-2019_arm64") {
|
||||||
|
$os = "setup-actions-windows-arm64-4-core"
|
||||||
|
}
|
||||||
|
|
||||||
$matrix += @{
|
$matrix += @{
|
||||||
'platform' = $platform
|
'platform' = $platform
|
||||||
'os' = $os
|
'os' = $os
|
||||||
@@ -58,7 +69,7 @@ jobs:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
echo "matrix=$($matrix | ConvertTo-Json -Compress -AsArray)" >> $env:GITHUB_OUTPUT
|
echo "matrix=$($matrix | ConvertTo-Json -Compress -AsArray)" >> $env:GITHUB_OUTPUT
|
||||||
|
|
||||||
build_python:
|
build_python:
|
||||||
needs: generate_matrix
|
needs: generate_matrix
|
||||||
strategy:
|
strategy:
|
||||||
@@ -69,6 +80,29 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
ARTIFACT_NAME: python-${{ inputs.VERSION || '3.12.3' }}-${{ matrix.platform }}-${{ matrix.arch }}
|
ARTIFACT_NAME: python-${{ inputs.VERSION || '3.12.3' }}-${{ matrix.platform }}-${{ matrix.arch }}
|
||||||
steps:
|
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
|
- name: Check out repository code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
@@ -79,7 +113,7 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
./builders/build-python.ps1 -Version $env:VERSION `
|
./builders/build-python.ps1 -Version $env:VERSION `
|
||||||
-Platform ${{ matrix.platform }} -Architecture ${{ matrix.arch }}
|
-Platform ${{ matrix.platform }} -Architecture ${{ matrix.arch }}
|
||||||
|
|
||||||
- name: Publish artifact
|
- name: Publish artifact
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
@@ -97,7 +131,29 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
ARTIFACT_NAME: python-${{ inputs.VERSION || '3.12.3' }}-${{ matrix.platform }}-${{ matrix.arch }}
|
ARTIFACT_NAME: python-${{ inputs.VERSION || '3.12.3' }}-${{ matrix.platform }}-${{ matrix.arch }}
|
||||||
steps:
|
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
|
- name: Check out repository code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
@@ -238,4 +294,3 @@ jobs:
|
|||||||
workflow_id: 'create-pr.yml',
|
workflow_id: 'create-pr.yml',
|
||||||
ref: 'main'
|
ref: 'main'
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
3
.github/workflows/codeql-analysis.yml
vendored
3
.github/workflows/codeql-analysis.yml
vendored
@@ -13,4 +13,5 @@ jobs:
|
|||||||
name: CodeQL analysis
|
name: CodeQL analysis
|
||||||
uses: actions/reusable-workflows/.github/workflows/codeql-analysis.yml@main
|
uses: actions/reusable-workflows/.github/workflows/codeql-analysis.yml@main
|
||||||
with:
|
with:
|
||||||
languages: "['python']"
|
languages: '["python"]'
|
||||||
|
|
||||||
|
|||||||
4
.github/workflows/releases-validation.yml
vendored
4
.github/workflows/releases-validation.yml
vendored
@@ -14,8 +14,8 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [macos-latest, windows-latest, ubuntu-20.04, ubuntu-22.04]
|
os: [macos-latest, windows-latest, ubuntu-20.04, ubuntu-22.04, macos-13]
|
||||||
python: [3.9.13, 3.10.11, 3.11.8]
|
python: [3.9.13, 3.10.11, 3.11.8, 3.12.7, 3.13.0]
|
||||||
steps:
|
steps:
|
||||||
- name: setup-python ${{ matrix.python }}
|
- name: setup-python ${{ matrix.python }}
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
|
|||||||
44
.github/workflows/test-tk.yml
vendored
Normal file
44
.github/workflows/test-tk.yml
vendored
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
name: Test Python Tk
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- tcl-tk
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
tests-poetry:
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os: [macos-latest-large]
|
||||||
|
# python-version: ["3.8.10", "3.8.17", "3.9.1", "3.9.19", "3.9.19", "3.10.1", "3.10.14", "3.11.9"]
|
||||||
|
python-version: [ "3.10.16"]
|
||||||
|
|
||||||
|
fail-fast: false
|
||||||
|
name: ${{ matrix.python-version }} - ${{ matrix.os }}
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Set up Python ${{ matrix.python-version }}
|
||||||
|
# uses: actions/setup-python@v5
|
||||||
|
# uses: priya-kinthali/setup-python@test-930
|
||||||
|
uses: priya-kinthali/setup-python@test-tcl
|
||||||
|
with:
|
||||||
|
python-version: ${{ matrix.python-version }}
|
||||||
|
# - name: Print Tcl/Tk version
|
||||||
|
# run: |
|
||||||
|
# tclsh <<< 'puts [info patchlevel]; exit'
|
||||||
|
# wish <<< 'puts [info patchlevel]; exit'
|
||||||
|
- name: Verify Python Tk Version
|
||||||
|
run: |
|
||||||
|
python -c "import tkinter; print(f'Tkinter TkVersion: {tkinter.TkVersion}')"
|
||||||
|
- name: Prepare Ubuntu xvfb
|
||||||
|
if: runner.os == 'Linux'
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y libxkbcommon-x11-0 xvfb
|
||||||
|
- name: Run tk script (closes itself after 5 seconds) - Ubuntu
|
||||||
|
if: runner.os == 'Linux'
|
||||||
|
run: xvfb-run python tk_min.py
|
||||||
|
- name: Run tk script (closes itself after 5 seconds)
|
||||||
|
if: runner.os != 'Linux'
|
||||||
|
run: python tk_min.py
|
||||||
@@ -68,10 +68,10 @@ class macOSPythonBuilder : NixPythonBuilder {
|
|||||||
### and then add the appropriate paths for the header and library files to configure command.
|
### and then add the appropriate paths for the header and library files to configure command.
|
||||||
### Link to documentation (https://cpython-devguide.readthedocs.io/setup/#build-dependencies)
|
### Link to documentation (https://cpython-devguide.readthedocs.io/setup/#build-dependencies)
|
||||||
if ($this.Version -lt "3.7.0") {
|
if ($this.Version -lt "3.7.0") {
|
||||||
$env:LDFLAGS = "-L/usr/local/opt/openssl@1.1/lib -L/usr/local/opt/zlib/lib"
|
$env:LDFLAGS = "-L/usr/local/opt/openssl@3/lib -L/usr/local/opt/zlib/lib"
|
||||||
$env:CFLAGS = "-I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/zlib/include"
|
$env:CFLAGS = "-I/usr/local/opt/openssl@3/include -I/usr/local/opt/zlib/include"
|
||||||
} else {
|
} else {
|
||||||
$configureString += " --with-openssl=/usr/local/opt/openssl@1.1"
|
$configureString += " --with-openssl=/usr/local/opt/openssl@3"
|
||||||
|
|
||||||
# For Python 3.7.2 and 3.7.3 we need to provide PATH for zlib to pack it properly. Otherwise the build will fail
|
# For Python 3.7.2 and 3.7.3 we need to provide PATH for zlib to pack it properly. Otherwise the build will fail
|
||||||
# with the error: zipimport.ZipImportError: can't decompress data; zlib not available
|
# with the error: zipimport.ZipImportError: can't decompress data; zlib not available
|
||||||
@@ -80,8 +80,8 @@ class macOSPythonBuilder : NixPythonBuilder {
|
|||||||
$env:CFLAGS = "-I/usr/local/opt/zlib/include"
|
$env:CFLAGS = "-I/usr/local/opt/zlib/include"
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($this.Version -gt "3.7.12") {
|
if ($this.Version -lt "3.10") {
|
||||||
$configureString += " --with-tcltk-includes='-I /usr/local/opt/tcl-tk/include' --with-tcltk-libs='-L/usr/local/opt/tcl-tk/lib -ltcl8.6 -ltk8.6'"
|
$configureString += " --with-tcltk-includes='-I /usr/local/opt/tcl-tk/include/tcl-tk' --with-tcltk-libs='-L/usr/local/opt/tcl-tk/lib -ltcl8.6 -ltk8.6'"
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($this.Version -eq "3.7.17") {
|
if ($this.Version -eq "3.7.17") {
|
||||||
|
|||||||
@@ -60,6 +60,8 @@ class WinPythonBuilder : PythonBuilder {
|
|||||||
} else {
|
} else {
|
||||||
$ArchitectureExtension = ".amd64"
|
$ArchitectureExtension = ".amd64"
|
||||||
}
|
}
|
||||||
|
}elseif ($this.Architecture -eq "arm64") {
|
||||||
|
$ArchitectureExtension = "-arm64"
|
||||||
}
|
}
|
||||||
|
|
||||||
return $ArchitectureExtension
|
return $ArchitectureExtension
|
||||||
|
|||||||
@@ -54,15 +54,15 @@ else:
|
|||||||
if os_type == 'Darwin':
|
if os_type == 'Darwin':
|
||||||
### Validate openssl links
|
### Validate openssl links
|
||||||
if version_major == 3 and version_minor < 7:
|
if version_major == 3 and version_minor < 7:
|
||||||
expected_ldflags = '-L/usr/local/opt/openssl@1.1/lib'
|
expected_ldflags = '-L/usr/local/opt/openssl@3/lib'
|
||||||
ldflags = sysconfig.get_config_var('LDFLAGS')
|
ldflags = sysconfig.get_config_var('LDFLAGS')
|
||||||
|
|
||||||
if not expected_ldflags in ldflags:
|
if not expected_ldflags in ldflags:
|
||||||
print('Invalid ldflags: %s; Expected: %s' % (ldflags, expected_ldflags))
|
print('Invalid ldflags: %s; Expected: %s' % (ldflags, expected_ldflags))
|
||||||
exit(1)
|
exit(1)
|
||||||
else:
|
else:
|
||||||
expected_openssl_includes = '-I/usr/local/opt/openssl@1.1/include'
|
expected_openssl_includes = '-I/usr/local/opt/openssl@3/include'
|
||||||
expected_openssl_ldflags ='-L/usr/local/opt/openssl@1.1/lib'
|
expected_openssl_ldflags ='-L/usr/local/opt/openssl@3/lib'
|
||||||
|
|
||||||
openssl_includes = sysconfig.get_config_var('OPENSSL_INCLUDES')
|
openssl_includes = sysconfig.get_config_var('OPENSSL_INCLUDES')
|
||||||
openssl_ldflags = sysconfig.get_config_var('OPENSSL_LDFLAGS')
|
openssl_ldflags = sysconfig.get_config_var('OPENSSL_LDFLAGS')
|
||||||
|
|||||||
7
tk_min.py
Normal file
7
tk_min.py
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
import tkinter as tk
|
||||||
|
|
||||||
|
root = tk.Tk()
|
||||||
|
label = tk.Label(root, text="Hello World!")
|
||||||
|
label.pack(padx=20, pady=20)
|
||||||
|
root.after(5000, root.destroy) # Close the Window after 5 seconds
|
||||||
|
root.mainloop()
|
||||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user