mirror of
https://github.com/actions/python-versions.git
synced 2025-12-15 15:32:11 +00:00
Compare commits
25 Commits
3.10.14-83
...
windows-ar
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d80ea3a25f | ||
|
|
7a302f1496 | ||
|
|
e18dd16151 | ||
|
|
606312b02e | ||
|
|
cb2aecd6d9 | ||
|
|
1c85886f9c | ||
|
|
f14b797a5d | ||
|
|
cc396a6be6 | ||
|
|
1693c7defb | ||
|
|
8108f421b7 | ||
|
|
8bbb5413e0 | ||
|
|
c990e6da95 | ||
|
|
521be20d1e | ||
|
|
064829bd03 | ||
|
|
b77a7dee85 | ||
|
|
37e7166250 | ||
|
|
eb9433f569 | ||
|
|
7c3d29faf2 | ||
|
|
c03f98f186 | ||
|
|
2573fc9af9 | ||
|
|
b643f0d07f | ||
|
|
29394d0042 | ||
|
|
3545308dfe | ||
|
|
fa96e2aca9 | ||
|
|
1dbece3419 |
110
.github/workflows/build-python-packages.yml
vendored
110
.github/workflows/build-python-packages.yml
vendored
@@ -1,11 +1,11 @@
|
|||||||
name: Build Python package
|
name: Build Python package
|
||||||
run-name: Generate Python ${{ inputs.VERSION || '3.11.0' }}
|
run-name: Generate Python ${{ inputs.VERSION || '3.12.3' }}
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
inputs:
|
inputs:
|
||||||
VERSION:
|
VERSION:
|
||||||
description: 'Python version to build and upload'
|
description: 'Python version to build and upload'
|
||||||
default: '3.11.0'
|
default: '3.12.3'
|
||||||
required: true
|
required: true
|
||||||
PUBLISH_RELEASES:
|
PUBLISH_RELEASES:
|
||||||
description: 'Whether to publish releases'
|
description: 'Whether to publish releases'
|
||||||
@@ -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,macos-11_x64,macos-11_arm64,windows-2019_x64,windows-2019_x86'
|
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'
|
||||||
pull_request:
|
pull_request:
|
||||||
paths-ignore:
|
paths-ignore:
|
||||||
- 'versions-manifest.json'
|
- 'versions-manifest.json'
|
||||||
@@ -25,7 +25,7 @@ on:
|
|||||||
- 'main'
|
- 'main'
|
||||||
|
|
||||||
env:
|
env:
|
||||||
VERSION: ${{ inputs.VERSION || '3.11.0' }}
|
VERSION: ${{ inputs.VERSION || '3.12.3' }}
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
@@ -39,26 +39,35 @@ 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,macos-11,macos-11_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,macos-11,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]
|
||||||
$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: generate_matrix
|
||||||
strategy:
|
strategy:
|
||||||
@@ -67,24 +76,47 @@ jobs:
|
|||||||
include: ${{ fromJson(needs.generate_matrix.outputs.matrix) }}
|
include: ${{ fromJson(needs.generate_matrix.outputs.matrix) }}
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
env:
|
env:
|
||||||
ARTIFACT_NAME: python-${{ inputs.VERSION || '3.11.0' }}-${{ 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@v3
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
submodules: true
|
submodules: true
|
||||||
|
|
||||||
|
|
||||||
- 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@v3
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: ${{ env.ARTIFACT_NAME }}
|
name: ${{ env.ARTIFACT_NAME }}
|
||||||
path: ${{ runner.temp }}/artifact
|
path: ${{ runner.temp }}/artifact
|
||||||
|
if-no-files-found: error
|
||||||
|
|
||||||
test_python:
|
test_python:
|
||||||
needs: [generate_matrix, build_python]
|
needs: [generate_matrix, build_python]
|
||||||
@@ -94,22 +126,52 @@ jobs:
|
|||||||
include: ${{ fromJson(needs.generate_matrix.outputs.matrix) }}
|
include: ${{ fromJson(needs.generate_matrix.outputs.matrix) }}
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
env:
|
env:
|
||||||
ARTIFACT_NAME: python-${{ inputs.VERSION || '3.11.0' }}-${{ 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@v3
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
submodules: true
|
submodules: true
|
||||||
|
|
||||||
- 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"
|
||||||
|
|
||||||
- name: Download artifact
|
- name: Delete macOS /Library/Frameworks/Python.framework
|
||||||
uses: actions/download-artifact@v3
|
if: matrix.platform == 'darwin'
|
||||||
with:
|
shell: bash
|
||||||
path: ${{ runner.temp }}
|
run: if [ -d /Library/Frameworks/Python.framework ]; then sudo rm -rf /Library/Frameworks/Python.framework; fi
|
||||||
|
|
||||||
|
- name: Download artifact
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
name: ${{ 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') {
|
||||||
@@ -123,6 +185,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Apply build artifact to the local machine
|
- name: Apply build artifact to the local machine
|
||||||
run: |
|
run: |
|
||||||
|
$PSNativeCommandUseErrorActionPreference = $true
|
||||||
if ('${{ matrix.platform }}' -eq 'win32') {
|
if ('${{ matrix.platform }}' -eq 'win32') {
|
||||||
powershell ./setup.ps1
|
powershell ./setup.ps1
|
||||||
} else {
|
} else {
|
||||||
@@ -132,7 +195,7 @@ jobs:
|
|||||||
working-directory: ${{ runner.temp }}/${{ env.ARTIFACT_NAME }}
|
working-directory: ${{ runner.temp }}/${{ env.ARTIFACT_NAME }}
|
||||||
|
|
||||||
- name: Setup Python ${{ env.VERSION }}
|
- name: Setup Python ${{ env.VERSION }}
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: ${{ env.VERSION }}
|
python-version: ${{ env.VERSION }}
|
||||||
architecture: ${{ matrix.arch }}
|
architecture: ${{ matrix.arch }}
|
||||||
@@ -147,10 +210,9 @@ 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
|
Install-Module Pester -Force -Scope CurrentUser -SkipPublisherCheck
|
||||||
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 }}";
|
||||||
@@ -170,7 +232,7 @@ jobs:
|
|||||||
needs: test_python
|
needs: test_python
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/download-artifact@v3
|
- uses: actions/download-artifact@v4
|
||||||
|
|
||||||
- name: Publish Release ${{ env.VERSION }}
|
- name: Publish Release ${{ env.VERSION }}
|
||||||
id: create_release
|
id: create_release
|
||||||
@@ -182,7 +244,6 @@ 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 '.'
|
||||||
@@ -196,7 +257,7 @@ jobs:
|
|||||||
}
|
}
|
||||||
|
|
||||||
- name: Upload release assets
|
- name: Upload release assets
|
||||||
uses: actions/github-script@v6
|
uses: actions/github-script@v7
|
||||||
with:
|
with:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
script: |
|
script: |
|
||||||
@@ -220,7 +281,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Trigger "Create Pull Request" workflow
|
- name: Trigger "Create Pull Request" workflow
|
||||||
uses: actions/github-script@v6
|
uses: actions/github-script@v7
|
||||||
with:
|
with:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
script: |
|
script: |
|
||||||
@@ -230,4 +291,3 @@ jobs:
|
|||||||
workflow_id: 'create-pr.yml',
|
workflow_id: 'create-pr.yml',
|
||||||
ref: 'main'
|
ref: 'main'
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
submodules: true
|
submodules: true
|
||||||
|
|
||||||
|
|||||||
4
.github/workflows/releases-validation.yml
vendored
4
.github/workflows/releases-validation.yml
vendored
@@ -15,10 +15,10 @@ jobs:
|
|||||||
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]
|
||||||
python: [3.9.12, 3.10.8, 3.11.8]
|
python: [3.9.13, 3.10.11, 3.11.8]
|
||||||
steps:
|
steps:
|
||||||
- name: setup-python ${{ matrix.python }}
|
- name: setup-python ${{ matrix.python }}
|
||||||
uses: actions/setup-python@v4
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: ${{ matrix.python }}
|
python-version: ${{ matrix.python }}
|
||||||
|
|
||||||
|
|||||||
@@ -1,168 +0,0 @@
|
|||||||
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()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -37,16 +37,9 @@ class UbuntuPythonBuilder : NixPythonBuilder {
|
|||||||
$configureString += " --enable-shared"
|
$configureString += " --enable-shared"
|
||||||
$configureString += " --enable-optimizations"
|
$configureString += " --enable-optimizations"
|
||||||
|
|
||||||
### Compile with ucs4 for Python 2.x. On 3.x, ucs4 is enabled by default
|
### Compile with support of loadable sqlite extensions.
|
||||||
if ($this.Version -lt "3.0.0") {
|
|
||||||
$configureString += " --enable-unicode=ucs4"
|
|
||||||
}
|
|
||||||
|
|
||||||
### Compile with support of loadable sqlite extensions. Unavailable for Python 2.*
|
|
||||||
### Link to documentation (https://docs.python.org/3/library/sqlite3.html#sqlite3.Connection.enable_load_extension)
|
### Link to documentation (https://docs.python.org/3/library/sqlite3.html#sqlite3.Connection.enable_load_extension)
|
||||||
if ($this.Version -ge "3.2.0") {
|
$configureString += " --enable-loadable-sqlite-extensions"
|
||||||
$configureString += " --enable-loadable-sqlite-extensions"
|
|
||||||
}
|
|
||||||
|
|
||||||
Write-Host "The passed configure options are: "
|
Write-Host "The passed configure options are: "
|
||||||
Write-Host $configureString
|
Write-Host $configureString
|
||||||
@@ -60,17 +53,13 @@ class UbuntuPythonBuilder : NixPythonBuilder {
|
|||||||
Prepare system environment by installing dependencies and required packages.
|
Prepare system environment by installing dependencies and required packages.
|
||||||
#>
|
#>
|
||||||
|
|
||||||
if (($this.Version -gt "3.0.0") -and ($this.Version -lt "3.5.3")) {
|
if ($this.Version -lt "3.5.3") {
|
||||||
Write-Host "Python3 versions lower than 3.5.3 are not supported"
|
Write-Host "Python versions lower than 3.5.3 are not supported"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
### Compile with tkinter support
|
### Compile with tkinter support
|
||||||
if ($this.Version -gt "3.0.0") {
|
$tkinterInstallString = "sudo apt-get install -y --allow-downgrades python3-tk tk-dev"
|
||||||
$tkinterInstallString = "sudo apt-get install -y --allow-downgrades python3-tk tk-dev"
|
|
||||||
} else {
|
|
||||||
$tkinterInstallString = "sudo apt install -y python-tk tk-dev"
|
|
||||||
}
|
|
||||||
|
|
||||||
Execute-Command -Command "sudo apt-get update"
|
Execute-Command -Command "sudo apt-get update"
|
||||||
Execute-Command -Command $tkinterInstallString
|
Execute-Command -Command $tkinterInstallString
|
||||||
@@ -85,7 +74,8 @@ class UbuntuPythonBuilder : NixPythonBuilder {
|
|||||||
"libsqlite3-dev",
|
"libsqlite3-dev",
|
||||||
"libncursesw5-dev",
|
"libncursesw5-dev",
|
||||||
"libreadline-dev",
|
"libreadline-dev",
|
||||||
"libgdbm-dev"
|
"libgdbm-dev",
|
||||||
|
"liblzma-dev"
|
||||||
) | ForEach-Object {
|
) | ForEach-Object {
|
||||||
Execute-Command -Command "sudo apt install -y $_"
|
Execute-Command -Command "sudo apt install -y $_"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
|
||||||
using module "./python-builder.psm1"
|
using module "./python-builder.psm1"
|
||||||
|
|
||||||
class WinPythonBuilder : PythonBuilder {
|
class WinPythonBuilder : PythonBuilder {
|
||||||
@@ -60,8 +61,11 @@ class WinPythonBuilder : PythonBuilder {
|
|||||||
} else {
|
} else {
|
||||||
$ArchitectureExtension = ".amd64"
|
$ArchitectureExtension = ".amd64"
|
||||||
}
|
}
|
||||||
|
}elseif ($this.Architecture -eq "arm64") {
|
||||||
|
$ArchitectureExtension = "-arm64"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return $ArchitectureExtension
|
return $ArchitectureExtension
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -69,8 +69,9 @@ fi
|
|||||||
chmod +x ../python $PYTHON_MAJOR $PYTHON_MAJOR_DOT_MINOR $PYTHON_MAJOR_MINOR python
|
chmod +x ../python $PYTHON_MAJOR $PYTHON_MAJOR_DOT_MINOR $PYTHON_MAJOR_MINOR python
|
||||||
|
|
||||||
echo "Upgrading pip..."
|
echo "Upgrading pip..."
|
||||||
|
export PIP_ROOT_USER_ACTION=ignore
|
||||||
./python -m ensurepip
|
./python -m ensurepip
|
||||||
./python -m pip install --ignore-installed pip --disable-pip-version-check --no-warn-script-location --root-user-action=ignore
|
./python -m pip install --upgrade --force-reinstall pip --disable-pip-version-check --no-warn-script-location
|
||||||
|
|
||||||
echo "Install OpenSSL certificates"
|
echo "Install OpenSSL certificates"
|
||||||
sh -e "${PYTHON_APPLICATION_PATH}/Install Certificates.command"
|
sh -e "${PYTHON_APPLICATION_PATH}/Install Certificates.command"
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
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)
|
||||||
|
|
||||||
@@ -17,7 +18,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/x64
|
PYTHON_TOOLCACHE_VERSION_ARCH_PATH=$PYTHON_TOOLCACHE_VERSION_PATH/$ARCH
|
||||||
|
|
||||||
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
|
||||||
@@ -49,8 +50,9 @@ fi
|
|||||||
chmod +x ../python $PYTHON_MAJOR $PYTHON_MAJOR_DOT_MINOR $PYTHON_MAJORMINOR python
|
chmod +x ../python $PYTHON_MAJOR $PYTHON_MAJOR_DOT_MINOR $PYTHON_MAJORMINOR python
|
||||||
|
|
||||||
echo "Upgrading pip..."
|
echo "Upgrading pip..."
|
||||||
|
export PIP_ROOT_USER_ACTION=ignore
|
||||||
./python -m ensurepip
|
./python -m ensurepip
|
||||||
./python -m pip install --ignore-installed pip --disable-pip-version-check --no-warn-script-location --root-user-action=ignore
|
./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/x64.complete
|
touch $PYTHON_TOOLCACHE_VERSION_PATH/$ARCH.complete
|
||||||
@@ -133,8 +133,12 @@ if ($MajorVersion -ne "2") {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Write-Host "Install and upgrade Pip"
|
Write-Host "Install and upgrade Pip"
|
||||||
|
$Env:PIP_ROOT_USER_ACTION = "ignore"
|
||||||
$PythonExePath = Join-Path -Path $PythonArchPath -ChildPath "python.exe"
|
$PythonExePath = Join-Path -Path $PythonArchPath -ChildPath "python.exe"
|
||||||
cmd.exe /c "$PythonExePath -m ensurepip && $PythonExePath -m pip install --upgrade pip --no-warn-script-location --root-user-action=ignore"
|
cmd.exe /c "$PythonExePath -m ensurepip && $PythonExePath -m pip install --upgrade --force-reinstall pip --no-warn-script-location"
|
||||||
|
if ($LASTEXITCODE -ne 0) {
|
||||||
|
Throw "Error happened during pip installation / upgrade"
|
||||||
|
}
|
||||||
|
|
||||||
Write-Host "Create complete file"
|
Write-Host "Create complete file"
|
||||||
New-Item -ItemType File -Path $PythonVersionPath -Name "$Architecture.complete" | Out-Null
|
New-Item -ItemType File -Path $PythonVersionPath -Name "$Architecture.complete" | Out-Null
|
||||||
|
|||||||
@@ -103,4 +103,8 @@ Describe "Tests" {
|
|||||||
It "Check urlopen with HTTPS works" {
|
It "Check urlopen with HTTPS works" {
|
||||||
"python ./sources/python-urlopen-https.py" | Should -ReturnZeroExitCode
|
"python ./sources/python-urlopen-https.py" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
|
|
||||||
|
It "Check a single dist-info per distribution is present" {
|
||||||
|
"python ./sources/dist-info.py" | Should -ReturnZeroExitCode
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
24
tests/sources/dist-info.py
Normal file
24
tests/sources/dist-info.py
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
import glob
|
||||||
|
import os.path
|
||||||
|
import sysconfig
|
||||||
|
from collections import defaultdict
|
||||||
|
|
||||||
|
|
||||||
|
def check_dist_info():
|
||||||
|
paths = set([sysconfig.get_path("purelib"), sysconfig.get_path("platlib")])
|
||||||
|
versions = defaultdict(list)
|
||||||
|
for path in paths:
|
||||||
|
pattern = os.path.join(path, "*.dist-info")
|
||||||
|
for dist_info in glob.glob(pattern):
|
||||||
|
name = os.path.basename(dist_info).split("-", maxsplit=1)[0]
|
||||||
|
versions[name].append(dist_info)
|
||||||
|
exit_code = 0
|
||||||
|
for name in versions:
|
||||||
|
if len(versions[name]) > 1:
|
||||||
|
print("multiple dist-info found for {}: {}".format(name, versions[name]))
|
||||||
|
exit_code = 1
|
||||||
|
exit(exit_code)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
check_dist_info()
|
||||||
@@ -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}/x64/lib'
|
expected_lib_dir_path = f'{os.getenv("AGENT_TOOLSDIRECTORY")}/Python/{version}/{architecture}/lib'
|
||||||
|
|
||||||
# Check modules
|
# Check modules
|
||||||
### Validate libraries path
|
### Validate libraries path
|
||||||
|
|||||||
@@ -1,4 +1,161 @@
|
|||||||
|
|
||||||
[
|
[
|
||||||
|
{
|
||||||
|
"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",
|
||||||
|
"stable": false,
|
||||||
|
"release_url": "https://github.com/actions/python-versions/releases/tag/3.13.0-beta.1-9019422448",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"filename": "python-3.13.0-beta.1-darwin-arm64.tar.gz",
|
||||||
|
"arch": "arm64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.13.0-beta.1-9019422448/python-3.13.0-beta.1-darwin-arm64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.13.0-beta.1-darwin-x64.tar.gz",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.13.0-beta.1-9019422448/python-3.13.0-beta.1-darwin-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.13.0-beta.1-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.1-9019422448/python-3.13.0-beta.1-linux-20.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.13.0-beta.1-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.1-9019422448/python-3.13.0-beta.1-linux-22.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.13.0-beta.1-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.1-9019422448/python-3.13.0-beta.1-linux-24.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.13.0-beta.1-win32-x64.zip",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "win32",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.13.0-beta.1-9019422448/python-3.13.0-beta.1-win32-x64.zip"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.13.0-beta.1-win32-x86.zip",
|
||||||
|
"arch": "x86",
|
||||||
|
"platform": "win32",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.13.0-beta.1-9019422448/python-3.13.0-beta.1-win32-x86.zip"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "3.13.0-alpha.6",
|
||||||
|
"stable": false,
|
||||||
|
"release_url": "https://github.com/actions/python-versions/releases/tag/3.13.0-alpha.6-8625706540",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"filename": "python-3.13.0-alpha.6-darwin-arm64.tar.gz",
|
||||||
|
"arch": "arm64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.13.0-alpha.6-8625706540/python-3.13.0-alpha.6-darwin-arm64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.13.0-alpha.6-darwin-x64.tar.gz",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.13.0-alpha.6-8625706540/python-3.13.0-alpha.6-darwin-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.13.0-alpha.6-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-alpha.6-8625706540/python-3.13.0-alpha.6-linux-20.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.13.0-alpha.6-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-alpha.6-8625706540/python-3.13.0-alpha.6-linux-22.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.13.0-alpha.6-win32-x64.zip",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "win32",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.13.0-alpha.6-8625706540/python-3.13.0-alpha.6-win32-x64.zip"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.13.0-alpha.6-win32-x86.zip",
|
||||||
|
"arch": "x86",
|
||||||
|
"platform": "win32",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.13.0-alpha.6-8625706540/python-3.13.0-alpha.6-win32-x86.zip"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"version": "3.13.0-alpha.5",
|
"version": "3.13.0-alpha.5",
|
||||||
"stable": false,
|
"stable": false,
|
||||||
@@ -224,6 +381,117 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"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",
|
||||||
|
"stable": true,
|
||||||
|
"release_url": "https://github.com/actions/python-versions/releases/tag/3.12.3-9019007027",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"filename": "python-3.12.3-darwin-arm64.tar.gz",
|
||||||
|
"arch": "arm64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.12.3-9019007027/python-3.12.3-darwin-arm64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.12.3-darwin-x64.tar.gz",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.12.3-9019007027/python-3.12.3-darwin-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.12.3-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.3-9019007027/python-3.12.3-linux-20.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.12.3-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.3-9019007027/python-3.12.3-linux-22.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.12.3-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.3-9019007027/python-3.12.3-linux-24.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.12.3-win32-x64.zip",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "win32",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.12.3-9019007027/python-3.12.3-win32-x64.zip"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.12.3-win32-x86.zip",
|
||||||
|
"arch": "x86",
|
||||||
|
"platform": "win32",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.12.3-9019007027/python-3.12.3-win32-x86.zip"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"version": "3.12.2",
|
"version": "3.12.2",
|
||||||
"stable": true,
|
"stable": true,
|
||||||
@@ -995,6 +1263,65 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"version": "3.11.9",
|
||||||
|
"stable": true,
|
||||||
|
"release_url": "https://github.com/actions/python-versions/releases/tag/3.11.9-9600593881",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"filename": "python-3.11.9-darwin-arm64.tar.gz",
|
||||||
|
"arch": "arm64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.11.9-9600593881/python-3.11.9-darwin-arm64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.11.9-darwin-x64.tar.gz",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.11.9-9600593881/python-3.11.9-darwin-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.11.9-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.11.9-9600593881/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",
|
||||||
|
"arch": "x64",
|
||||||
|
"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-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.11.9-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.11.9-9600593881/python-3.11.9-linux-24.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.11.9-win32-x64.zip",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "win32",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.11.9-9600593881/python-3.11.9-win32-x64.zip"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.11.9-win32-x86.zip",
|
||||||
|
"arch": "x86",
|
||||||
|
"platform": "win32",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.11.9-9600593881/python-3.11.9-win32-x86.zip"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"version": "3.11.8",
|
"version": "3.11.8",
|
||||||
"stable": true,
|
"stable": true,
|
||||||
@@ -1998,6 +2325,47 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"version": "3.10.14",
|
||||||
|
"stable": true,
|
||||||
|
"release_url": "https://github.com/actions/python-versions/releases/tag/3.10.14-9599980810",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"filename": "python-3.10.14-darwin-x64.tar.gz",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.10.14-9599980810/python-3.10.14-darwin-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.10.14-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.10.14-9599980810/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",
|
||||||
|
"arch": "x64",
|
||||||
|
"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-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.10.14-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.10.14-9599980810/python-3.10.14-linux-24.04-x64.tar.gz"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"version": "3.10.13",
|
"version": "3.10.13",
|
||||||
"stable": true,
|
"stable": true,
|
||||||
@@ -3152,6 +3520,47 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"version": "3.9.19",
|
||||||
|
"stable": true,
|
||||||
|
"release_url": "https://github.com/actions/python-versions/releases/tag/3.9.19-9599861319",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"filename": "python-3.9.19-darwin-x64.tar.gz",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.9.19-9599861319/python-3.9.19-darwin-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.9.19-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.9.19-9599861319/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",
|
||||||
|
"arch": "x64",
|
||||||
|
"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-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.9.19-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.9.19-9599861319/python-3.9.19-linux-24.04-x64.tar.gz"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"version": "3.9.18",
|
"version": "3.9.18",
|
||||||
"stable": true,
|
"stable": true,
|
||||||
@@ -3311,46 +3720,45 @@
|
|||||||
{
|
{
|
||||||
"version": "3.9.13",
|
"version": "3.9.13",
|
||||||
"stable": true,
|
"stable": true,
|
||||||
"release_url": "https://github.com/actions/python-versions/releases/tag/3.9.13-2717571420",
|
"release_url": "https://github.com/actions/python-versions/releases/tag/3.9.13-8879985561",
|
||||||
"files": [
|
"files": [
|
||||||
|
{
|
||||||
|
"filename": "python-3.9.13-darwin-arm64.tar.gz",
|
||||||
|
"arch": "arm64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.9.13-8879985561/python-3.9.13-darwin-arm64.tar.gz"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"filename": "python-3.9.13-darwin-x64.tar.gz",
|
"filename": "python-3.9.13-darwin-x64.tar.gz",
|
||||||
"arch": "x64",
|
"arch": "x64",
|
||||||
"platform": "darwin",
|
"platform": "darwin",
|
||||||
"download_url": "https://github.com/actions/python-versions/releases/download/3.9.13-2717571420/python-3.9.13-darwin-x64.tar.gz"
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.9.13-8879985561/python-3.9.13-darwin-x64.tar.gz"
|
||||||
},
|
|
||||||
{
|
|
||||||
"filename": "python-3.9.13-linux-18.04-x64.tar.gz",
|
|
||||||
"arch": "x64",
|
|
||||||
"platform": "linux",
|
|
||||||
"platform_version": "18.04",
|
|
||||||
"download_url": "https://github.com/actions/python-versions/releases/download/3.9.13-2717571420/python-3.9.13-linux-18.04-x64.tar.gz"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"filename": "python-3.9.13-linux-20.04-x64.tar.gz",
|
"filename": "python-3.9.13-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.13-2717571420/python-3.9.13-linux-20.04-x64.tar.gz"
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.9.13-8879985561/python-3.9.13-linux-20.04-x64.tar.gz"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"filename": "python-3.9.13-linux-22.04-x64.tar.gz",
|
"filename": "python-3.9.13-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.13-2717571420/python-3.9.13-linux-22.04-x64.tar.gz"
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.9.13-8879985561/python-3.9.13-linux-22.04-x64.tar.gz"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"filename": "python-3.9.13-win32-x64.zip",
|
"filename": "python-3.9.13-win32-x64.zip",
|
||||||
"arch": "x64",
|
"arch": "x64",
|
||||||
"platform": "win32",
|
"platform": "win32",
|
||||||
"download_url": "https://github.com/actions/python-versions/releases/download/3.9.13-2717571420/python-3.9.13-win32-x64.zip"
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.9.13-8879985561/python-3.9.13-win32-x64.zip"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"filename": "python-3.9.13-win32-x86.zip",
|
"filename": "python-3.9.13-win32-x86.zip",
|
||||||
"arch": "x86",
|
"arch": "x86",
|
||||||
"platform": "win32",
|
"platform": "win32",
|
||||||
"download_url": "https://github.com/actions/python-versions/releases/download/3.9.13-2717571420/python-3.9.13-win32-x86.zip"
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.9.13-8879985561/python-3.9.13-win32-x86.zip"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -4189,27 +4597,41 @@
|
|||||||
{
|
{
|
||||||
"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-5997368067",
|
"release_url": "https://github.com/actions/python-versions/releases/tag/3.8.18-9599280229",
|
||||||
"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-5997368067/python-3.8.18-darwin-x64.tar.gz"
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.8.18-9599280229/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-5997368067/python-3.8.18-linux-20.04-x64.tar.gz"
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.8.18-9599280229/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-5997368067/python-3.8.18-linux-22.04-x64.tar.gz"
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.8.18-9599280229/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"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -4440,39 +4862,38 @@
|
|||||||
{
|
{
|
||||||
"version": "3.8.10",
|
"version": "3.8.10",
|
||||||
"stable": true,
|
"stable": true,
|
||||||
"release_url": "https://github.com/actions/python-versions/releases/tag/3.8.10-117959",
|
"release_url": "https://github.com/actions/python-versions/releases/tag/3.8.10-8879978422",
|
||||||
"files": [
|
"files": [
|
||||||
|
{
|
||||||
|
"filename": "python-3.8.10-darwin-arm64.tar.gz",
|
||||||
|
"arch": "arm64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.8.10-8879978422/python-3.8.10-darwin-arm64.tar.gz"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"filename": "python-3.8.10-darwin-x64.tar.gz",
|
"filename": "python-3.8.10-darwin-x64.tar.gz",
|
||||||
"arch": "x64",
|
"arch": "x64",
|
||||||
"platform": "darwin",
|
"platform": "darwin",
|
||||||
"download_url": "https://github.com/actions/python-versions/releases/download/3.8.10-117959/python-3.8.10-darwin-x64.tar.gz"
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.8.10-8879978422/python-3.8.10-darwin-x64.tar.gz"
|
||||||
},
|
|
||||||
{
|
|
||||||
"filename": "python-3.8.10-linux-18.04-x64.tar.gz",
|
|
||||||
"arch": "x64",
|
|
||||||
"platform": "linux",
|
|
||||||
"platform_version": "18.04",
|
|
||||||
"download_url": "https://github.com/actions/python-versions/releases/download/3.8.10-117959/python-3.8.10-linux-18.04-x64.tar.gz"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"filename": "python-3.8.10-linux-20.04-x64.tar.gz",
|
"filename": "python-3.8.10-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.10-117959/python-3.8.10-linux-20.04-x64.tar.gz"
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.8.10-8879978422/python-3.8.10-linux-20.04-x64.tar.gz"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"filename": "python-3.8.10-win32-x64.zip",
|
"filename": "python-3.8.10-win32-x64.zip",
|
||||||
"arch": "x64",
|
"arch": "x64",
|
||||||
"platform": "win32",
|
"platform": "win32",
|
||||||
"download_url": "https://github.com/actions/python-versions/releases/download/3.8.10-117959/python-3.8.10-win32-x64.zip"
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.8.10-8879978422/python-3.8.10-win32-x64.zip"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"filename": "python-3.8.10-win32-x86.zip",
|
"filename": "python-3.8.10-win32-x86.zip",
|
||||||
"arch": "x86",
|
"arch": "x86",
|
||||||
"platform": "win32",
|
"platform": "win32",
|
||||||
"download_url": "https://github.com/actions/python-versions/releases/download/3.8.10-117959/python-3.8.10-win32-x86.zip"
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.8.10-8879978422/python-3.8.10-win32-x86.zip"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user