mirror of
https://github.com/actions/python-versions.git
synced 2025-12-15 15:32:11 +00:00
Compare commits
16 Commits
3.9.19-900
...
windows-ar
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d80ea3a25f | ||
|
|
7a302f1496 | ||
|
|
e18dd16151 | ||
|
|
606312b02e | ||
|
|
cb2aecd6d9 | ||
|
|
1c85886f9c | ||
|
|
f14b797a5d | ||
|
|
cc396a6be6 | ||
|
|
1693c7defb | ||
|
|
8108f421b7 | ||
|
|
8bbb5413e0 | ||
|
|
c990e6da95 | ||
|
|
521be20d1e | ||
|
|
064829bd03 | ||
|
|
b77a7dee85 | ||
|
|
37e7166250 |
100
.github/workflows/build-python-packages.yml
vendored
100
.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,ubuntu-24.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,ubuntu-24.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,11 +126,34 @@ 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
|
||||||
|
|
||||||
@@ -111,10 +166,12 @@ jobs:
|
|||||||
run: if [ -d /Library/Frameworks/Python.framework ]; then sudo rm -rf /Library/Frameworks/Python.framework; fi
|
run: if [ -d /Library/Frameworks/Python.framework ]; then sudo rm -rf /Library/Frameworks/Python.framework; fi
|
||||||
|
|
||||||
- name: Download artifact
|
- name: Download artifact
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
path: ${{ runner.temp }}
|
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') {
|
||||||
@@ -138,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 }}
|
||||||
@@ -153,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 }}";
|
||||||
@@ -176,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
|
||||||
@@ -188,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 '.'
|
||||||
@@ -202,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: |
|
||||||
@@ -226,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: |
|
||||||
@@ -236,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()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ chmod +x ../python $PYTHON_MAJOR $PYTHON_MAJOR_DOT_MINOR $PYTHON_MAJOR_MINOR pyt
|
|||||||
echo "Upgrading pip..."
|
echo "Upgrading pip..."
|
||||||
export PIP_ROOT_USER_ACTION=ignore
|
export PIP_ROOT_USER_ACTION=ignore
|
||||||
./python -m ensurepip
|
./python -m ensurepip
|
||||||
./python -m pip install --upgrade 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 "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
|
||||||
@@ -51,7 +52,7 @@ chmod +x ../python $PYTHON_MAJOR $PYTHON_MAJOR_DOT_MINOR $PYTHON_MAJORMINOR pyth
|
|||||||
echo "Upgrading pip..."
|
echo "Upgrading pip..."
|
||||||
export PIP_ROOT_USER_ACTION=ignore
|
export PIP_ROOT_USER_ACTION=ignore
|
||||||
./python -m ensurepip
|
./python -m ensurepip
|
||||||
./python -m pip install --upgrade 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/x64.complete
|
touch $PYTHON_TOOLCACHE_VERSION_PATH/$ARCH.complete
|
||||||
@@ -135,7 +135,7 @@ if ($MajorVersion -ne "2") {
|
|||||||
Write-Host "Install and upgrade Pip"
|
Write-Host "Install and upgrade Pip"
|
||||||
$Env:PIP_ROOT_USER_ACTION = "ignore"
|
$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"
|
cmd.exe /c "$PythonExePath -m ensurepip && $PythonExePath -m pip install --upgrade --force-reinstall pip --no-warn-script-location"
|
||||||
if ($LASTEXITCODE -ne 0) {
|
if ($LASTEXITCODE -ne 0) {
|
||||||
Throw "Error happened during pip installation / upgrade"
|
Throw "Error happened during pip installation / upgrade"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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,116 @@
|
|||||||
|
|
||||||
[
|
[
|
||||||
|
{
|
||||||
|
"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",
|
"version": "3.13.0-alpha.6",
|
||||||
"stable": false,
|
"stable": false,
|
||||||
@@ -269,48 +381,114 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"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,
|
||||||
"release_url": "https://github.com/actions/python-versions/releases/tag/3.12.3-8625548520",
|
"release_url": "https://github.com/actions/python-versions/releases/tag/3.12.3-9019007027",
|
||||||
"files": [
|
"files": [
|
||||||
{
|
{
|
||||||
"filename": "python-3.12.3-darwin-arm64.tar.gz",
|
"filename": "python-3.12.3-darwin-arm64.tar.gz",
|
||||||
"arch": "arm64",
|
"arch": "arm64",
|
||||||
"platform": "darwin",
|
"platform": "darwin",
|
||||||
"download_url": "https://github.com/actions/python-versions/releases/download/3.12.3-8625548520/python-3.12.3-darwin-arm64.tar.gz"
|
"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",
|
"filename": "python-3.12.3-darwin-x64.tar.gz",
|
||||||
"arch": "x64",
|
"arch": "x64",
|
||||||
"platform": "darwin",
|
"platform": "darwin",
|
||||||
"download_url": "https://github.com/actions/python-versions/releases/download/3.12.3-8625548520/python-3.12.3-darwin-x64.tar.gz"
|
"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",
|
"filename": "python-3.12.3-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.12.3-8625548520/python-3.12.3-linux-20.04-x64.tar.gz"
|
"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",
|
"filename": "python-3.12.3-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.12.3-8625548520/python-3.12.3-linux-22.04-x64.tar.gz"
|
"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",
|
"filename": "python-3.12.3-win32-x64.zip",
|
||||||
"arch": "x64",
|
"arch": "x64",
|
||||||
"platform": "win32",
|
"platform": "win32",
|
||||||
"download_url": "https://github.com/actions/python-versions/releases/download/3.12.3-8625548520/python-3.12.3-win32-x64.zip"
|
"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",
|
"filename": "python-3.12.3-win32-x86.zip",
|
||||||
"arch": "x86",
|
"arch": "x86",
|
||||||
"platform": "win32",
|
"platform": "win32",
|
||||||
"download_url": "https://github.com/actions/python-versions/releases/download/3.12.3-8625548520/python-3.12.3-win32-x86.zip"
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.12.3-9019007027/python-3.12.3-win32-x86.zip"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -1088,45 +1266,59 @@
|
|||||||
{
|
{
|
||||||
"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-8525206794",
|
"release_url": "https://github.com/actions/python-versions/releases/tag/3.11.9-9600593881",
|
||||||
"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-8525206794/python-3.11.9-darwin-arm64.tar.gz"
|
"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",
|
"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-8525206794/python-3.11.9-darwin-x64.tar.gz"
|
"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",
|
"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-8525206794/python-3.11.9-linux-20.04-x64.tar.gz"
|
"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",
|
"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-8525206794/python-3.11.9-linux-22.04-x64.tar.gz"
|
"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",
|
"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-8525206794/python-3.11.9-win32-x64.zip"
|
"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",
|
"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-8525206794/python-3.11.9-win32-x86.zip"
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.11.9-9600593881/python-3.11.9-win32-x86.zip"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -2136,27 +2328,41 @@
|
|||||||
{
|
{
|
||||||
"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-8361245787",
|
"release_url": "https://github.com/actions/python-versions/releases/tag/3.10.14-9599980810",
|
||||||
"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-8361245787/python-3.10.14-darwin-x64.tar.gz"
|
"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",
|
"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-8361245787/python-3.10.14-linux-20.04-x64.tar.gz"
|
"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",
|
"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-8361245787/python-3.10.14-linux-22.04-x64.tar.gz"
|
"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"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -3317,27 +3523,41 @@
|
|||||||
{
|
{
|
||||||
"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-8362510609",
|
"release_url": "https://github.com/actions/python-versions/releases/tag/3.9.19-9599861319",
|
||||||
"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-8362510609/python-3.9.19-darwin-x64.tar.gz"
|
"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",
|
"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-8362510609/python-3.9.19-linux-20.04-x64.tar.gz"
|
"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",
|
"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-8362510609/python-3.9.19-linux-22.04-x64.tar.gz"
|
"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"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -4377,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"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user