Compare commits

..

33 Commits

Author SHA1 Message Date
aparnajyothi-y
9ad4c1fcaa Update build-python-packages.yml 2024-06-14 10:31:10 +05:30
aparnajyothi-y
3f1c6125df Update build-python-packages.yml 2024-06-14 10:19:44 +05:30
aparnajyothi-y
b1d12fe818 Update build-python-packages.yml 2024-06-14 10:14:34 +05:30
aparnajyothi-y
d464ee3cc6 Update build-python-packages.yml 2024-06-14 10:12:44 +05:30
aparnajyothi-y
61e93b288d Update build-python-packages.yml 2024-06-14 10:11:48 +05:30
aparnajyothi-y
8d965711ba Update build-python-packages.yml 2024-06-14 10:05:34 +05:30
aparnajyothi-y
b228cba84e Update build-python-packages.yml 2024-06-14 09:52:27 +05:30
aparnajyothi-y
fd9b186705 Update build-python-packages.yml 2024-05-29 17:40:28 +05:30
aparnajyothi-y
a15689f2ac Update build-python-packages.yml 2024-05-29 17:18:57 +05:30
aparnajyothi-y
be0e5a895c Update build-python-packages.yml 2024-05-29 17:12:40 +05:30
aparnajyothi-y
04c0db46b5 Update build-python-packages.yml 2024-05-29 17:07:23 +05:30
aparnajyothi-y
cb822fbaf1 Update build-python-packages.yml 2024-05-29 17:04:16 +05:30
aparnajyothi-y
1d262fc400 Update build-python-packages.yml 2024-05-29 17:00:46 +05:30
aparnajyothi-y
06ec0e912f Update build-python-packages.yml 2024-05-29 16:54:45 +05:30
aparnajyothi-y
30c053652b Update build-python-packages.yml 2024-05-29 16:43:41 +05:30
aparnajyothi-y
411060a14d Update build-python-packages.yml 2024-05-29 16:41:10 +05:30
aparnajyothi-y
45c77b2a3a Update build-python-packages.yml 2024-05-29 16:39:08 +05:30
aparnajyothi-y
3af71f81fb Update build-python-packages.yml 2024-05-29 16:36:07 +05:30
aparnajyothi-y
2031f98157 Update build-python-packages.yml 2024-05-29 16:32:36 +05:30
aparnajyothi-y
ac6f4c6a01 Update build-python-packages.yml 2024-05-29 16:27:56 +05:30
aparnajyothi-y
a185c39c53 Update build-python-packages.yml 2024-05-29 16:22:49 +05:30
aparnajyothi-y
9c2e25fa64 Update build-python-packages.yml 2024-05-29 16:11:31 +05:30
aparnajyothi-y
c87f998dfb Update build-python-packages.yml 2024-05-29 16:09:05 +05:30
aparnajyothi-y
a18ca9186b Update build-python-packages.yml 2024-05-29 15:54:06 +05:30
aparnajyothi-y
12f1ddaf19 Update build-python-packages.yml 2024-05-29 15:47:10 +05:30
aparnajyothi-y
22bd58f5ab Update build-python-packages.yml 2024-05-29 15:30:12 +05:30
aparnajyothi-y
91d36e5783 Update build-python-packages.yml 2024-05-29 15:28:53 +05:30
aparnajyothi-y
567e9060f4 Update build-python-packages.yml 2024-05-29 15:19:31 +05:30
aparnajyothi-y
10da5bd845 Update build-python-packages.yml 2024-05-29 15:15:29 +05:30
aparnajyothi-y
b6f9ad0531 Update build-python-packages.yml 2024-05-29 15:13:15 +05:30
aparnajyothi-y
0d0f3060e3 Update build-python-packages.yml 2024-05-29 15:03:12 +05:30
aparnajyothi-y
948f51aaf0 Update build-python-packages.yml 2024-05-29 14:58:10 +05:30
aparnajyothi-y
43b4fed22f Update build-python-packages.yml 2024-05-29 14:52:21 +05:30
6 changed files with 233 additions and 259 deletions

View File

@@ -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-22.04,ubuntu-22.04_arm64,ubuntu-24.04,macos-11_x64,macos-14_arm64,windows-2019_x64,windows-2019_x86,windows-2019_arm64' default: 'setup-actions-windows-arm64-4-core'
pull_request: pull_request:
paths-ignore: paths-ignore:
- 'versions-manifest.json' - 'versions-manifest.json'
@@ -28,10 +28,26 @@ env:
VERSION: ${{ inputs.VERSION || '3.12.3' }} VERSION: ${{ inputs.VERSION || '3.12.3' }}
defaults: defaults:
run: run:
shell: pwsh shell: 'C:\Program Files\PowerShell\7\pwsh.exe -Command {0}'
jobs: jobs:
install_Pwsh_git:
runs-on: setup-actions-windows-arm64-4-core
steps:
- run: |
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'))
choco install -y pwsh
choco install -y git --version=2.18.0
'C:\Program Files\PowerShell\7\' | Out-File $env:GITHUB_PATH -Append
'C:\Program Files\Git\bin' | Out-File $env:GITHUB_PATH -Append
shell: powershell
generate_matrix: generate_matrix:
needs: [install_Pwsh_git]
runs-on: ubuntu-latest runs-on: ubuntu-latest
outputs: outputs:
matrix: ${{ steps.generate-matrix.outputs.matrix }} matrix: ${{ steps.generate-matrix.outputs.matrix }}
@@ -39,37 +55,29 @@ 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-22.04,ubuntu-22.04_arm64,ubuntu-24.04,macos-11,macos-14_arm64,windows-2019_x64,windows-2019_x86,windows-2019_arm64' }}".Split(",").Trim() [String[]]$configurations = "${{ inputs.platforms || 'ubuntu-20.04,ubuntu-22.04,ubuntu-24.04,macos-11,macos-11_arm64,windows-2019_x64,windows-2019_x86' }}".Split(",").Trim()
$matrix = @() $matrix = @()
foreach ($configuration in $configurations) { foreach ($configuration in $configurations) {
$parts = $configuration.Split("_") $parts = $configuration.Split("_")
$os = $parts[0] $os = $parts[0]
$arch = if ($parts[1]) {$parts[1]} else {"x64"} $arch = if ($parts[1]) {$parts[1]} else {"x64"}
switch -wildcard ($os) { switch -wildcard ($os) {
"*ubuntu*" { $platform = $os.Replace("ubuntu","linux")} "*ubuntu*" { $platform = $os.Replace("ubuntu","linux")}
"*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 "windows-2019_arm64") {
$os = "setup-actions-windows-arm64-4-core"
}
$matrix += @{ $matrix += @{
'platform' = $platform 'platform' = $platform
'os' = $os 'os' = $os
'arch' = $arch 'arch' = $arch
} }
} }
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: [install_Pwsh_git, generate_matrix]
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
@@ -78,39 +86,16 @@ 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:
submodules: true submodules: false
- name: Build Python ${{ env.VERSION }} - name: Build Python ${{ env.VERSION }}
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:
@@ -119,7 +104,7 @@ jobs:
if-no-files-found: error if-no-files-found: error
test_python: test_python:
needs: [generate_matrix, build_python] needs: [install_Pwsh_git, generate_matrix, build_python]
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
@@ -129,33 +114,10 @@ jobs:
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:
submodules: true submodules: false
- name: Fully cleanup the toolcache directory before testing - name: Fully cleanup the toolcache directory before testing
run: ./helpers/clean-toolcache.ps1 -ToolName "Python" run: ./helpers/clean-toolcache.ps1 -ToolName "Python"
@@ -171,7 +133,6 @@ jobs:
name: ${{ env.ARTIFACT_NAME }} name: ${{ env.ARTIFACT_NAME }}
path: ${{ runner.temp }}/${{ env.ARTIFACT_NAME }} path: ${{ runner.temp }}/${{ env.ARTIFACT_NAME }}
- name: Extract files - name: Extract files
run: | run: |
if ('${{ matrix.platform }}' -eq 'win32') { if ('${{ matrix.platform }}' -eq 'win32') {
@@ -210,9 +171,10 @@ jobs:
run: | run: |
$pythonLocation = which python $pythonLocation = which python
if ('${{ matrix.platform }}' -eq 'darwin') { otool -L $pythonLocation } else { ldd $pythonLocation } if ('${{ matrix.platform }}' -eq 'darwin') { otool -L $pythonLocation } else { ldd $pythonLocation }
- name: Run tests - name: Run tests
run: | run: |
Install-Module Pester -Force -Scope CurrentUser -SkipPublisherCheck Install-Module Pester -Force -Scope CurrentUser
Import-Module Pester Import-Module Pester
$pesterContainer = New-PesterContainer -Path './python-tests.ps1' -Data @{ $pesterContainer = New-PesterContainer -Path './python-tests.ps1' -Data @{
Version="${{ env.VERSION }}"; Version="${{ env.VERSION }}";
@@ -234,6 +196,7 @@ jobs:
steps: steps:
- uses: actions/download-artifact@v4 - uses: actions/download-artifact@v4
- name: Publish Release ${{ env.VERSION }} - name: Publish Release ${{ env.VERSION }}
id: create_release id: create_release
uses: actions/create-release@v1 uses: actions/create-release@v1
@@ -244,6 +207,7 @@ jobs:
release_name: ${{ env.VERSION }} release_name: ${{ env.VERSION }}
body: | body: |
Python ${{ env.VERSION }} Python ${{ env.VERSION }}
- name: Generate hash for packages - name: Generate hash for packages
run: | run: |
$childItems = Get-Childitem -Path '.' $childItems = Get-Childitem -Path '.'
@@ -291,3 +255,4 @@ jobs:
workflow_id: 'create-pr.yml', workflow_id: 'create-pr.yml',
ref: 'main' ref: 'main'
}); });

View File

@@ -0,0 +1,168 @@
using module "./python-builder.psm1"
class NixPythonBuilder : PythonBuilder {
<#
.SYNOPSIS
Base Python builder class for *Nix systems.
.DESCRIPTION
Contains methods that required to build Python artifact for *nix systems. Inherited from base PythonBuilder class.
.PARAMETER version
The version of Python that should be built.
.PARAMETER Platform
The type of platform for which Python should be built.
.PARAMETER PlatformVersion
The version of platform for which Python should be built.
.PARAMETER InstallationTemplateName
The name of template that will be used to create installation script for generated Python artifact.
.PARAMETER InstallationScriptName
The name of installation script that will be generated for Python artifact.
.PARAMETER OutputArtifactName
The name of archive with Python binaries that will be generated as part of Python artifact.
#>
[string] $InstallationTemplateName
[string] $InstallationScriptName
[string] $OutputArtifactName
NixPythonBuilder(
[semver] $version,
[string] $architecture,
[string] $platform
) : Base($version, $architecture, $platform) {
$this.InstallationTemplateName = "nix-setup-template.sh"
$this.InstallationScriptName = "setup.sh"
$this.OutputArtifactName = "python-$Version-$Platform-$Architecture.tar.gz"
}
[uri] GetSourceUri() {
<#
.SYNOPSIS
Get base Python URI and return complete URI for Python sources.
#>
$base = $this.GetBaseUri()
$versionName = $this.GetBaseVersion()
$nativeVersion = Convert-Version -version $this.Version
return "${base}/${versionName}/Python-${nativeVersion}.tgz"
}
[string] GetPythonBinary() {
<#
.SYNOPSIS
Return name of Python binary.
#>
if ($this.Version.Major -eq 2) { $pythonBinary = "python" } else { $pythonBinary = "python3" }
return $pythonBinary
}
[string] Download() {
<#
.SYNOPSIS
Download Python sources and extract them at temporary work folder. Returns expanded archive location path.
#>
$sourceUri = $this.GetSourceUri()
Write-Host "Sources URI: $sourceUri"
$archiveFilepath = Download-File -Uri $sourceUri -OutputFolder $this.WorkFolderLocation
$expandedSourceLocation = Join-Path -Path $this.TempFolderLocation -ChildPath "SourceCode"
New-Item -Path $expandedSourceLocation -ItemType Directory
Extract-TarArchive -ArchivePath $archiveFilepath -OutputDirectory $expandedSourceLocation
Write-Debug "Done; Sources location: $expandedSourceLocation"
return $expandedSourceLocation
}
[void] CreateInstallationScript() {
<#
.SYNOPSIS
Create Python artifact installation script based on template specified in InstallationTemplateName property.
#>
$installationScriptLocation = New-Item -Path $this.WorkFolderLocation -Name $this.InstallationScriptName -ItemType File
$installationTemplateLocation = Join-Path -Path $this.InstallationTemplatesLocation -ChildPath $this.InstallationTemplateName
$installationTemplateContent = Get-Content -Path $installationTemplateLocation -Raw
$variablesToReplace = @{
"{{__VERSION_FULL__}}" = $this.Version;
}
$variablesToReplace.keys | ForEach-Object { $installationTemplateContent = $installationTemplateContent.Replace($_, $variablesToReplace[$_]) }
$installationTemplateContent | Out-File -FilePath $installationScriptLocation
Write-Debug "Done; Installation script location: $installationScriptLocation)"
}
[void] Make() {
<#
.SYNOPSIS
Executes "make" and "make install" commands for configured build sources. Make output will be writen in build_output.txt located in artifact location folder.
#>
Write-Debug "make Python $($this.Version)-$($this.Architecture) $($this.Platform)"
$buildOutputLocation = New-Item -Path $this.WorkFolderLocation -Name "build_output.txt" -ItemType File
Execute-Command -Command "make 2>&1 | tee $buildOutputLocation" -ErrorAction Continue
Execute-Command -Command "make install" -ErrorAction Continue
Write-Debug "Done; Make log location: $buildOutputLocation"
}
[void] CopyBuildResults() {
$buildFolder = $this.GetFullPythonToolcacheLocation()
Move-Item -Path "$buildFolder/*" -Destination $this.WorkFolderLocation
}
[void] ArchiveArtifact() {
$OutputPath = Join-Path $this.ArtifactFolderLocation $this.OutputArtifactName
Create-TarArchive -SourceFolder $this.WorkFolderLocation -ArchivePath $OutputPath
}
[void] Build() {
<#
.SYNOPSIS
Build Python artifact from sources.
#>
Write-Host "Prepare Python Hostedtoolcache location..."
$this.PreparePythonToolcacheLocation()
Write-Host "Prepare system environment..."
$this.PrepareEnvironment()
Write-Host "Download Python $($this.Version)[$($this.Architecture)] sources..."
$sourcesLocation = $this.Download()
Push-Location -Path $sourcesLocation
Write-Host "Configure for $($this.Platform)..."
$this.Configure()
Write-Host "Make for $($this.Platform)..."
$this.Make()
Pop-Location
Write-Host "Generate structure dump"
New-ToolStructureDump -ToolPath $this.GetFullPythonToolcacheLocation() -OutputFolder $this.WorkFolderLocation
Write-Host "Copying build results to destination location"
$this.CopyBuildResults()
Write-Host "Create installation script..."
$this.CreateInstallationScript()
Write-Host "Archive artifact..."
$this.ArchiveArtifact()
}
}

View File

@@ -1,4 +1,3 @@
using module "./python-builder.psm1" using module "./python-builder.psm1"
class WinPythonBuilder : PythonBuilder { class WinPythonBuilder : PythonBuilder {
@@ -61,11 +60,8 @@ class WinPythonBuilder : PythonBuilder {
} else { } else {
$ArchitectureExtension = ".amd64" $ArchitectureExtension = ".amd64"
} }
}elseif ($this.Architecture -eq "arm64") {
$ArchitectureExtension = "-arm64"
} }
return $ArchitectureExtension return $ArchitectureExtension
} }

View File

@@ -1,7 +1,6 @@
set -e set -e
PYTHON_FULL_VERSION="{{__VERSION_FULL__}}" PYTHON_FULL_VERSION="{{__VERSION_FULL__}}"
ARCH="{{__ARCH__}}"
MAJOR_VERSION=$(echo $PYTHON_FULL_VERSION | cut -d '.' -f 1) MAJOR_VERSION=$(echo $PYTHON_FULL_VERSION | cut -d '.' -f 1)
MINOR_VERSION=$(echo $PYTHON_FULL_VERSION | cut -d '.' -f 2) MINOR_VERSION=$(echo $PYTHON_FULL_VERSION | cut -d '.' -f 2)
@@ -18,7 +17,7 @@ fi
PYTHON_TOOLCACHE_PATH=$TOOLCACHE_ROOT/Python PYTHON_TOOLCACHE_PATH=$TOOLCACHE_ROOT/Python
PYTHON_TOOLCACHE_VERSION_PATH=$PYTHON_TOOLCACHE_PATH/$PYTHON_FULL_VERSION PYTHON_TOOLCACHE_VERSION_PATH=$PYTHON_TOOLCACHE_PATH/$PYTHON_FULL_VERSION
PYTHON_TOOLCACHE_VERSION_ARCH_PATH=$PYTHON_TOOLCACHE_VERSION_PATH/$ARCH PYTHON_TOOLCACHE_VERSION_ARCH_PATH=$PYTHON_TOOLCACHE_VERSION_PATH/x64
echo "Check if Python hostedtoolcache folder exist..." echo "Check if Python hostedtoolcache folder exist..."
if [ ! -d $PYTHON_TOOLCACHE_PATH ]; then if [ ! -d $PYTHON_TOOLCACHE_PATH ]; then
@@ -55,4 +54,4 @@ export PIP_ROOT_USER_ACTION=ignore
./python -m pip install --upgrade --force-reinstall pip --disable-pip-version-check --no-warn-script-location ./python -m pip install --upgrade --force-reinstall pip --disable-pip-version-check --no-warn-script-location
echo "Create complete file" echo "Create complete file"
touch $PYTHON_TOOLCACHE_VERSION_PATH/$ARCH.complete touch $PYTHON_TOOLCACHE_VERSION_PATH/x64.complete

View File

@@ -28,7 +28,7 @@ if os_type == 'Darwin': expected_ld_library_extension = 'dylib'
if pkg_installer: if pkg_installer:
expected_lib_dir_path = f'/Library/Frameworks/Python.framework/Versions/{version_major}.{version_minor}/lib' expected_lib_dir_path = f'/Library/Frameworks/Python.framework/Versions/{version_major}.{version_minor}/lib'
else: else:
expected_lib_dir_path = f'{os.getenv("AGENT_TOOLSDIRECTORY")}/Python/{version}/{architecture}/lib' expected_lib_dir_path = f'{os.getenv("AGENT_TOOLSDIRECTORY")}/Python/{version}/x64/lib'
# Check modules # Check modules
### Validate libraries path ### Validate libraries path

View File

@@ -1,64 +1,4 @@
[ [
{
"version": "3.13.0-beta.2",
"stable": false,
"release_url": "https://github.com/actions/python-versions/releases/tag/3.13.0-beta.2-9601313347",
"files": [
{
"filename": "python-3.13.0-beta.2-darwin-arm64.tar.gz",
"arch": "arm64",
"platform": "darwin",
"download_url": "https://github.com/actions/python-versions/releases/download/3.13.0-beta.2-9601313347/python-3.13.0-beta.2-darwin-arm64.tar.gz"
},
{
"filename": "python-3.13.0-beta.2-darwin-x64.tar.gz",
"arch": "x64",
"platform": "darwin",
"download_url": "https://github.com/actions/python-versions/releases/download/3.13.0-beta.2-9601313347/python-3.13.0-beta.2-darwin-x64.tar.gz"
},
{
"filename": "python-3.13.0-beta.2-linux-20.04-x64.tar.gz",
"arch": "x64",
"platform": "linux",
"platform_version": "20.04",
"download_url": "https://github.com/actions/python-versions/releases/download/3.13.0-beta.2-9601313347/python-3.13.0-beta.2-linux-20.04-x64.tar.gz"
},
{
"filename": "python-3.13.0-beta.2-linux-22.04-arm64.tar.gz",
"arch": "arm64",
"platform": "linux",
"platform_version": "22.04",
"download_url": "https://github.com/actions/python-versions/releases/download/3.13.0-beta.2-9601313347/python-3.13.0-beta.2-linux-22.04-arm64.tar.gz"
},
{
"filename": "python-3.13.0-beta.2-linux-22.04-x64.tar.gz",
"arch": "x64",
"platform": "linux",
"platform_version": "22.04",
"download_url": "https://github.com/actions/python-versions/releases/download/3.13.0-beta.2-9601313347/python-3.13.0-beta.2-linux-22.04-x64.tar.gz"
},
{
"filename": "python-3.13.0-beta.2-linux-24.04-x64.tar.gz",
"arch": "x64",
"platform": "linux",
"platform_version": "24.04",
"download_url": "https://github.com/actions/python-versions/releases/download/3.13.0-beta.2-9601313347/python-3.13.0-beta.2-linux-24.04-x64.tar.gz"
},
{
"filename": "python-3.13.0-beta.2-win32-x64.zip",
"arch": "x64",
"platform": "win32",
"download_url": "https://github.com/actions/python-versions/releases/download/3.13.0-beta.2-9601313347/python-3.13.0-beta.2-win32-x64.zip"
},
{
"filename": "python-3.13.0-beta.2-win32-x86.zip",
"arch": "x86",
"platform": "win32",
"download_url": "https://github.com/actions/python-versions/releases/download/3.13.0-beta.2-9601313347/python-3.13.0-beta.2-win32-x86.zip"
}
]
},
{ {
"version": "3.13.0-beta.1", "version": "3.13.0-beta.1",
"stable": false, "stable": false,
@@ -381,65 +321,6 @@
} }
] ]
}, },
{
"version": "3.12.4",
"stable": true,
"release_url": "https://github.com/actions/python-versions/releases/tag/3.12.4-9601301881",
"files": [
{
"filename": "python-3.12.4-darwin-arm64.tar.gz",
"arch": "arm64",
"platform": "darwin",
"download_url": "https://github.com/actions/python-versions/releases/download/3.12.4-9601301881/python-3.12.4-darwin-arm64.tar.gz"
},
{
"filename": "python-3.12.4-darwin-x64.tar.gz",
"arch": "x64",
"platform": "darwin",
"download_url": "https://github.com/actions/python-versions/releases/download/3.12.4-9601301881/python-3.12.4-darwin-x64.tar.gz"
},
{
"filename": "python-3.12.4-linux-20.04-x64.tar.gz",
"arch": "x64",
"platform": "linux",
"platform_version": "20.04",
"download_url": "https://github.com/actions/python-versions/releases/download/3.12.4-9601301881/python-3.12.4-linux-20.04-x64.tar.gz"
},
{
"filename": "python-3.12.4-linux-22.04-arm64.tar.gz",
"arch": "arm64",
"platform": "linux",
"platform_version": "22.04",
"download_url": "https://github.com/actions/python-versions/releases/download/3.12.4-9601301881/python-3.12.4-linux-22.04-arm64.tar.gz"
},
{
"filename": "python-3.12.4-linux-22.04-x64.tar.gz",
"arch": "x64",
"platform": "linux",
"platform_version": "22.04",
"download_url": "https://github.com/actions/python-versions/releases/download/3.12.4-9601301881/python-3.12.4-linux-22.04-x64.tar.gz"
},
{
"filename": "python-3.12.4-linux-24.04-x64.tar.gz",
"arch": "x64",
"platform": "linux",
"platform_version": "24.04",
"download_url": "https://github.com/actions/python-versions/releases/download/3.12.4-9601301881/python-3.12.4-linux-24.04-x64.tar.gz"
},
{
"filename": "python-3.12.4-win32-x64.zip",
"arch": "x64",
"platform": "win32",
"download_url": "https://github.com/actions/python-versions/releases/download/3.12.4-9601301881/python-3.12.4-win32-x64.zip"
},
{
"filename": "python-3.12.4-win32-x86.zip",
"arch": "x86",
"platform": "win32",
"download_url": "https://github.com/actions/python-versions/releases/download/3.12.4-9601301881/python-3.12.4-win32-x86.zip"
}
]
},
{ {
"version": "3.12.3", "version": "3.12.3",
"stable": true, "stable": true,
@@ -1266,59 +1147,52 @@
{ {
"version": "3.11.9", "version": "3.11.9",
"stable": true, "stable": true,
"release_url": "https://github.com/actions/python-versions/releases/tag/3.11.9-9600593881", "release_url": "https://github.com/actions/python-versions/releases/tag/3.11.9-9018502536",
"files": [ "files": [
{ {
"filename": "python-3.11.9-darwin-arm64.tar.gz", "filename": "python-3.11.9-darwin-arm64.tar.gz",
"arch": "arm64", "arch": "arm64",
"platform": "darwin", "platform": "darwin",
"download_url": "https://github.com/actions/python-versions/releases/download/3.11.9-9600593881/python-3.11.9-darwin-arm64.tar.gz" "download_url": "https://github.com/actions/python-versions/releases/download/3.11.9-9018502536/python-3.11.9-darwin-arm64.tar.gz"
}, },
{ {
"filename": "python-3.11.9-darwin-x64.tar.gz", "filename": "python-3.11.9-darwin-x64.tar.gz",
"arch": "x64", "arch": "x64",
"platform": "darwin", "platform": "darwin",
"download_url": "https://github.com/actions/python-versions/releases/download/3.11.9-9600593881/python-3.11.9-darwin-x64.tar.gz" "download_url": "https://github.com/actions/python-versions/releases/download/3.11.9-9018502536/python-3.11.9-darwin-x64.tar.gz"
}, },
{ {
"filename": "python-3.11.9-linux-20.04-x64.tar.gz", "filename": "python-3.11.9-linux-20.04-x64.tar.gz",
"arch": "x64", "arch": "x64",
"platform": "linux", "platform": "linux",
"platform_version": "20.04", "platform_version": "20.04",
"download_url": "https://github.com/actions/python-versions/releases/download/3.11.9-9600593881/python-3.11.9-linux-20.04-x64.tar.gz" "download_url": "https://github.com/actions/python-versions/releases/download/3.11.9-9018502536/python-3.11.9-linux-20.04-x64.tar.gz"
},
{
"filename": "python-3.11.9-linux-22.04-arm64.tar.gz",
"arch": "arm64",
"platform": "linux",
"platform_version": "22.04",
"download_url": "https://github.com/actions/python-versions/releases/download/3.11.9-9600593881/python-3.11.9-linux-22.04-arm64.tar.gz"
}, },
{ {
"filename": "python-3.11.9-linux-22.04-x64.tar.gz", "filename": "python-3.11.9-linux-22.04-x64.tar.gz",
"arch": "x64", "arch": "x64",
"platform": "linux", "platform": "linux",
"platform_version": "22.04", "platform_version": "22.04",
"download_url": "https://github.com/actions/python-versions/releases/download/3.11.9-9600593881/python-3.11.9-linux-22.04-x64.tar.gz" "download_url": "https://github.com/actions/python-versions/releases/download/3.11.9-9018502536/python-3.11.9-linux-22.04-x64.tar.gz"
}, },
{ {
"filename": "python-3.11.9-linux-24.04-x64.tar.gz", "filename": "python-3.11.9-linux-24.04-x64.tar.gz",
"arch": "x64", "arch": "x64",
"platform": "linux", "platform": "linux",
"platform_version": "24.04", "platform_version": "24.04",
"download_url": "https://github.com/actions/python-versions/releases/download/3.11.9-9600593881/python-3.11.9-linux-24.04-x64.tar.gz" "download_url": "https://github.com/actions/python-versions/releases/download/3.11.9-9018502536/python-3.11.9-linux-24.04-x64.tar.gz"
}, },
{ {
"filename": "python-3.11.9-win32-x64.zip", "filename": "python-3.11.9-win32-x64.zip",
"arch": "x64", "arch": "x64",
"platform": "win32", "platform": "win32",
"download_url": "https://github.com/actions/python-versions/releases/download/3.11.9-9600593881/python-3.11.9-win32-x64.zip" "download_url": "https://github.com/actions/python-versions/releases/download/3.11.9-9018502536/python-3.11.9-win32-x64.zip"
}, },
{ {
"filename": "python-3.11.9-win32-x86.zip", "filename": "python-3.11.9-win32-x86.zip",
"arch": "x86", "arch": "x86",
"platform": "win32", "platform": "win32",
"download_url": "https://github.com/actions/python-versions/releases/download/3.11.9-9600593881/python-3.11.9-win32-x86.zip" "download_url": "https://github.com/actions/python-versions/releases/download/3.11.9-9018502536/python-3.11.9-win32-x86.zip"
} }
] ]
}, },
@@ -2328,41 +2202,34 @@
{ {
"version": "3.10.14", "version": "3.10.14",
"stable": true, "stable": true,
"release_url": "https://github.com/actions/python-versions/releases/tag/3.10.14-9599980810", "release_url": "https://github.com/actions/python-versions/releases/tag/3.10.14-9004012336",
"files": [ "files": [
{ {
"filename": "python-3.10.14-darwin-x64.tar.gz", "filename": "python-3.10.14-darwin-x64.tar.gz",
"arch": "x64", "arch": "x64",
"platform": "darwin", "platform": "darwin",
"download_url": "https://github.com/actions/python-versions/releases/download/3.10.14-9599980810/python-3.10.14-darwin-x64.tar.gz" "download_url": "https://github.com/actions/python-versions/releases/download/3.10.14-9004012336/python-3.10.14-darwin-x64.tar.gz"
}, },
{ {
"filename": "python-3.10.14-linux-20.04-x64.tar.gz", "filename": "python-3.10.14-linux-20.04-x64.tar.gz",
"arch": "x64", "arch": "x64",
"platform": "linux", "platform": "linux",
"platform_version": "20.04", "platform_version": "20.04",
"download_url": "https://github.com/actions/python-versions/releases/download/3.10.14-9599980810/python-3.10.14-linux-20.04-x64.tar.gz" "download_url": "https://github.com/actions/python-versions/releases/download/3.10.14-9004012336/python-3.10.14-linux-20.04-x64.tar.gz"
},
{
"filename": "python-3.10.14-linux-22.04-arm64.tar.gz",
"arch": "arm64",
"platform": "linux",
"platform_version": "22.04",
"download_url": "https://github.com/actions/python-versions/releases/download/3.10.14-9599980810/python-3.10.14-linux-22.04-arm64.tar.gz"
}, },
{ {
"filename": "python-3.10.14-linux-22.04-x64.tar.gz", "filename": "python-3.10.14-linux-22.04-x64.tar.gz",
"arch": "x64", "arch": "x64",
"platform": "linux", "platform": "linux",
"platform_version": "22.04", "platform_version": "22.04",
"download_url": "https://github.com/actions/python-versions/releases/download/3.10.14-9599980810/python-3.10.14-linux-22.04-x64.tar.gz" "download_url": "https://github.com/actions/python-versions/releases/download/3.10.14-9004012336/python-3.10.14-linux-22.04-x64.tar.gz"
}, },
{ {
"filename": "python-3.10.14-linux-24.04-x64.tar.gz", "filename": "python-3.10.14-linux-24.04-x64.tar.gz",
"arch": "x64", "arch": "x64",
"platform": "linux", "platform": "linux",
"platform_version": "24.04", "platform_version": "24.04",
"download_url": "https://github.com/actions/python-versions/releases/download/3.10.14-9599980810/python-3.10.14-linux-24.04-x64.tar.gz" "download_url": "https://github.com/actions/python-versions/releases/download/3.10.14-9004012336/python-3.10.14-linux-24.04-x64.tar.gz"
} }
] ]
}, },
@@ -3523,41 +3390,34 @@
{ {
"version": "3.9.19", "version": "3.9.19",
"stable": true, "stable": true,
"release_url": "https://github.com/actions/python-versions/releases/tag/3.9.19-9599861319", "release_url": "https://github.com/actions/python-versions/releases/tag/3.9.19-9003651947",
"files": [ "files": [
{ {
"filename": "python-3.9.19-darwin-x64.tar.gz", "filename": "python-3.9.19-darwin-x64.tar.gz",
"arch": "x64", "arch": "x64",
"platform": "darwin", "platform": "darwin",
"download_url": "https://github.com/actions/python-versions/releases/download/3.9.19-9599861319/python-3.9.19-darwin-x64.tar.gz" "download_url": "https://github.com/actions/python-versions/releases/download/3.9.19-9003651947/python-3.9.19-darwin-x64.tar.gz"
}, },
{ {
"filename": "python-3.9.19-linux-20.04-x64.tar.gz", "filename": "python-3.9.19-linux-20.04-x64.tar.gz",
"arch": "x64", "arch": "x64",
"platform": "linux", "platform": "linux",
"platform_version": "20.04", "platform_version": "20.04",
"download_url": "https://github.com/actions/python-versions/releases/download/3.9.19-9599861319/python-3.9.19-linux-20.04-x64.tar.gz" "download_url": "https://github.com/actions/python-versions/releases/download/3.9.19-9003651947/python-3.9.19-linux-20.04-x64.tar.gz"
},
{
"filename": "python-3.9.19-linux-22.04-arm64.tar.gz",
"arch": "arm64",
"platform": "linux",
"platform_version": "22.04",
"download_url": "https://github.com/actions/python-versions/releases/download/3.9.19-9599861319/python-3.9.19-linux-22.04-arm64.tar.gz"
}, },
{ {
"filename": "python-3.9.19-linux-22.04-x64.tar.gz", "filename": "python-3.9.19-linux-22.04-x64.tar.gz",
"arch": "x64", "arch": "x64",
"platform": "linux", "platform": "linux",
"platform_version": "22.04", "platform_version": "22.04",
"download_url": "https://github.com/actions/python-versions/releases/download/3.9.19-9599861319/python-3.9.19-linux-22.04-x64.tar.gz" "download_url": "https://github.com/actions/python-versions/releases/download/3.9.19-9003651947/python-3.9.19-linux-22.04-x64.tar.gz"
}, },
{ {
"filename": "python-3.9.19-linux-24.04-x64.tar.gz", "filename": "python-3.9.19-linux-24.04-x64.tar.gz",
"arch": "x64", "arch": "x64",
"platform": "linux", "platform": "linux",
"platform_version": "24.04", "platform_version": "24.04",
"download_url": "https://github.com/actions/python-versions/releases/download/3.9.19-9599861319/python-3.9.19-linux-24.04-x64.tar.gz" "download_url": "https://github.com/actions/python-versions/releases/download/3.9.19-9003651947/python-3.9.19-linux-24.04-x64.tar.gz"
} }
] ]
}, },
@@ -4597,41 +4457,27 @@
{ {
"version": "3.8.18", "version": "3.8.18",
"stable": true, "stable": true,
"release_url": "https://github.com/actions/python-versions/releases/tag/3.8.18-9599280229", "release_url": "https://github.com/actions/python-versions/releases/tag/3.8.18-5997368067",
"files": [ "files": [
{ {
"filename": "python-3.8.18-darwin-x64.tar.gz", "filename": "python-3.8.18-darwin-x64.tar.gz",
"arch": "x64", "arch": "x64",
"platform": "darwin", "platform": "darwin",
"download_url": "https://github.com/actions/python-versions/releases/download/3.8.18-9599280229/python-3.8.18-darwin-x64.tar.gz" "download_url": "https://github.com/actions/python-versions/releases/download/3.8.18-5997368067/python-3.8.18-darwin-x64.tar.gz"
}, },
{ {
"filename": "python-3.8.18-linux-20.04-x64.tar.gz", "filename": "python-3.8.18-linux-20.04-x64.tar.gz",
"arch": "x64", "arch": "x64",
"platform": "linux", "platform": "linux",
"platform_version": "20.04", "platform_version": "20.04",
"download_url": "https://github.com/actions/python-versions/releases/download/3.8.18-9599280229/python-3.8.18-linux-20.04-x64.tar.gz" "download_url": "https://github.com/actions/python-versions/releases/download/3.8.18-5997368067/python-3.8.18-linux-20.04-x64.tar.gz"
},
{
"filename": "python-3.8.18-linux-22.04-arm64.tar.gz",
"arch": "arm64",
"platform": "linux",
"platform_version": "22.04",
"download_url": "https://github.com/actions/python-versions/releases/download/3.8.18-9599280229/python-3.8.18-linux-22.04-arm64.tar.gz"
}, },
{ {
"filename": "python-3.8.18-linux-22.04-x64.tar.gz", "filename": "python-3.8.18-linux-22.04-x64.tar.gz",
"arch": "x64", "arch": "x64",
"platform": "linux", "platform": "linux",
"platform_version": "22.04", "platform_version": "22.04",
"download_url": "https://github.com/actions/python-versions/releases/download/3.8.18-9599280229/python-3.8.18-linux-22.04-x64.tar.gz" "download_url": "https://github.com/actions/python-versions/releases/download/3.8.18-5997368067/python-3.8.18-linux-22.04-x64.tar.gz"
},
{
"filename": "python-3.8.18-linux-24.04-x64.tar.gz",
"arch": "x64",
"platform": "linux",
"platform_version": "24.04",
"download_url": "https://github.com/actions/python-versions/releases/download/3.8.18-9599280229/python-3.8.18-linux-24.04-x64.tar.gz"
} }
] ]
}, },