mirror of
https://github.com/actions/python-versions.git
synced 2025-12-15 15:32:11 +00:00
Compare commits
52 Commits
3.10.8-325
...
3.7.3-4112
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
71129be509 | ||
|
|
dfc7050017 | ||
|
|
eb846d7d39 | ||
|
|
e49c162d5a | ||
|
|
ad06198644 | ||
|
|
66b48edbf9 | ||
|
|
61e2b82f97 | ||
|
|
f99915cae1 | ||
|
|
1fbaf20636 | ||
|
|
a4dd6d4b89 | ||
|
|
80b21460cf | ||
|
|
2e59cc3fa4 | ||
|
|
b7447f0e37 | ||
|
|
b558df2c7a | ||
|
|
6dd0b7502a | ||
|
|
01d7e367e6 | ||
|
|
fe45ddc7b4 | ||
|
|
9feffedd12 | ||
|
|
66440ccb17 | ||
|
|
c483dd7702 | ||
|
|
69e05af37b | ||
|
|
626f42cb96 | ||
|
|
08fcc9e2f9 | ||
|
|
1248039d12 | ||
|
|
150cd39a1c | ||
|
|
93c66279f2 | ||
|
|
14f269ec5f | ||
|
|
188d4c2fb8 | ||
|
|
99b9e07db6 | ||
|
|
875651ccf2 | ||
|
|
f6ede0f473 | ||
|
|
60672e10e2 | ||
|
|
188c9d47fd | ||
|
|
01c7f11a0c | ||
|
|
2cd33e8674 | ||
|
|
16feed7bc1 | ||
|
|
fe8bc0106f | ||
|
|
4cb1787f1c | ||
|
|
c81386e1fd | ||
|
|
b37d4148f9 | ||
|
|
9b2450c6ee | ||
|
|
a6c0fa93f8 | ||
|
|
929dab97d0 | ||
|
|
149b806fe5 | ||
|
|
1c70aa4fc9 | ||
|
|
379db95d31 | ||
|
|
105f6b74ad | ||
|
|
0d8f04f6f8 | ||
|
|
11c48b4025 | ||
|
|
e7a13ade71 | ||
|
|
024142b9c3 | ||
|
|
5988ec7f4a |
2
.github/CODEOWNERS
vendored
2
.github/CODEOWNERS
vendored
@@ -1 +1 @@
|
|||||||
* @actions/virtual-environments-owners
|
* @actions/setup-actions-team
|
||||||
|
|||||||
@@ -1,20 +1,21 @@
|
|||||||
name: Build python package
|
name: Build Python package
|
||||||
|
run-name: Generate Python ${{ inputs.VERSION || '3.11.0' }}
|
||||||
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.9.9'
|
default: '3.11.0'
|
||||||
required: true
|
required: true
|
||||||
PUBLISH_RELEASES:
|
PUBLISH_RELEASES:
|
||||||
description: 'Whether to publish releases'
|
description: 'Whether to publish releases'
|
||||||
required: true
|
required: true
|
||||||
default: 'false'
|
type: boolean
|
||||||
|
default: false
|
||||||
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-18.04,ubuntu-20.04,ubuntu-22.04,macos-10.15,windows-2019_x64,windows-2019_x86'
|
default: 'ubuntu-18.04,ubuntu-20.04,ubuntu-22.04,macos-11,windows-2019_x64,windows-2019_x86'
|
||||||
pull_request:
|
pull_request:
|
||||||
paths-ignore:
|
paths-ignore:
|
||||||
- 'versions-manifest.json'
|
- 'versions-manifest.json'
|
||||||
@@ -24,7 +25,7 @@ on:
|
|||||||
- 'main'
|
- 'main'
|
||||||
|
|
||||||
env:
|
env:
|
||||||
VERSION: ${{ github.event.inputs.VERSION || '3.9.9' }}
|
VERSION: ${{ inputs.VERSION || '3.11.0' }}
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
@@ -38,7 +39,7 @@ jobs:
|
|||||||
- name: Generate execution matrix
|
- name: Generate execution matrix
|
||||||
id: generate-matrix
|
id: generate-matrix
|
||||||
run: |
|
run: |
|
||||||
$configurations = "${{ github.event.inputs.platforms || 'ubuntu-18.04,ubuntu-20.04,ubuntu-22.04,macos-10.15,windows-2019_x64,windows-2019_x86' }}".Split(",").Trim()
|
[String[]]$configurations = "${{ inputs.platforms || 'ubuntu-18.04,ubuntu-20.04,ubuntu-22.04,macos-11,windows-2019_x64,windows-2019_x86' }}".Split(",").Trim()
|
||||||
$matrix = @()
|
$matrix = @()
|
||||||
|
|
||||||
foreach ($configuration in $configurations) {
|
foreach ($configuration in $configurations) {
|
||||||
@@ -56,7 +57,7 @@ jobs:
|
|||||||
'arch' = $arch
|
'arch' = $arch
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
echo "::set-output name=matrix::$($matrix | ConvertTo-Json -Compress)"
|
echo "matrix=$($matrix | ConvertTo-Json -Compress -AsArray)" >> $env:GITHUB_OUTPUT
|
||||||
|
|
||||||
build_python:
|
build_python:
|
||||||
needs: generate_matrix
|
needs: generate_matrix
|
||||||
@@ -66,11 +67,11 @@ 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-${{ github.event.inputs.VERSION || '3.9.9' }}-${{ matrix.platform }}-${{ matrix.arch }}
|
ARTIFACT_NAME: python-${{ inputs.VERSION || '3.11.0' }}-${{ matrix.platform }}-${{ matrix.arch }}
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
- name: Check out repository code
|
- name: Check out repository code
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
submodules: true
|
submodules: true
|
||||||
|
|
||||||
@@ -80,7 +81,7 @@ jobs:
|
|||||||
-Platform ${{ matrix.platform }} -Architecture ${{ matrix.arch }}
|
-Platform ${{ matrix.platform }} -Architecture ${{ matrix.arch }}
|
||||||
|
|
||||||
- name: Publish artifact
|
- name: Publish artifact
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: ${{ env.ARTIFACT_NAME }}
|
name: ${{ env.ARTIFACT_NAME }}
|
||||||
path: ${{ runner.temp }}/artifact
|
path: ${{ runner.temp }}/artifact
|
||||||
@@ -93,11 +94,11 @@ 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-${{ github.event.inputs.VERSION || '3.9.9' }}-${{ matrix.platform }}-${{ matrix.arch }}
|
ARTIFACT_NAME: python-${{ inputs.VERSION || '3.11.0' }}-${{ matrix.platform }}-${{ matrix.arch }}
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
- name: Check out repository code
|
- name: Check out repository code
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
submodules: true
|
submodules: true
|
||||||
|
|
||||||
@@ -105,7 +106,7 @@ jobs:
|
|||||||
run: ./helpers/clean-toolcache.ps1 -ToolName "Python"
|
run: ./helpers/clean-toolcache.ps1 -ToolName "Python"
|
||||||
|
|
||||||
- name: Download artifact
|
- name: Download artifact
|
||||||
uses: actions/download-artifact@v2
|
uses: actions/download-artifact@v3
|
||||||
with:
|
with:
|
||||||
path: ${{ runner.temp }}
|
path: ${{ runner.temp }}
|
||||||
|
|
||||||
@@ -131,7 +132,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@v3
|
uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
python-version: ${{ env.VERSION }}
|
python-version: ${{ env.VERSION }}
|
||||||
architecture: ${{ matrix.arch }}
|
architecture: ${{ matrix.arch }}
|
||||||
@@ -164,11 +165,11 @@ jobs:
|
|||||||
|
|
||||||
publish_release:
|
publish_release:
|
||||||
name: Publish release
|
name: Publish release
|
||||||
if: github.event_name == 'workflow_dispatch' && github.event.inputs.PUBLISH_RELEASES == 'true'
|
if: github.event_name == 'workflow_dispatch' && inputs.PUBLISH_RELEASES
|
||||||
needs: test_python
|
needs: test_python
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/download-artifact@v2
|
- uses: actions/download-artifact@v3
|
||||||
|
|
||||||
- name: Publish Release ${{ env.VERSION }}
|
- name: Publish Release ${{ env.VERSION }}
|
||||||
id: create_release
|
id: create_release
|
||||||
@@ -182,7 +183,7 @@ jobs:
|
|||||||
Python ${{ env.VERSION }}
|
Python ${{ env.VERSION }}
|
||||||
|
|
||||||
- name: Upload release assets
|
- name: Upload release assets
|
||||||
uses: actions/github-script@v2
|
uses: actions/github-script@v6
|
||||||
with:
|
with:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
script: |
|
script: |
|
||||||
@@ -190,7 +191,7 @@ jobs:
|
|||||||
for (let artifactDir of fs.readdirSync('.')) {
|
for (let artifactDir of fs.readdirSync('.')) {
|
||||||
let artifactName = fs.readdirSync(`${artifactDir}`)[0];
|
let artifactName = fs.readdirSync(`${artifactDir}`)[0];
|
||||||
console.log(`Upload ${artifactName} asset`);
|
console.log(`Upload ${artifactName} asset`);
|
||||||
github.repos.uploadReleaseAsset({
|
github.rest.repos.uploadReleaseAsset({
|
||||||
owner: context.repo.owner,
|
owner: context.repo.owner,
|
||||||
repo: context.repo.repo,
|
repo: context.repo.repo,
|
||||||
release_id: ${{ steps.create_release.outputs.id }},
|
release_id: ${{ steps.create_release.outputs.id }},
|
||||||
@@ -205,11 +206,11 @@ 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@v3
|
uses: actions/github-script@v6
|
||||||
with:
|
with:
|
||||||
github-token: ${{ secrets.PERSONAL_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
script: |
|
script: |
|
||||||
github.actions.createWorkflowDispatch({
|
github.rest.actions.createWorkflowDispatch({
|
||||||
owner: context.repo.owner,
|
owner: context.repo.owner,
|
||||||
repo: context.repo.repo,
|
repo: context.repo.repo,
|
||||||
workflow_id: 'create-pr.yml',
|
workflow_id: 'create-pr.yml',
|
||||||
68
.github/workflows/codeql-analysis.yml
vendored
68
.github/workflows/codeql-analysis.yml
vendored
@@ -1,70 +1,16 @@
|
|||||||
# For most projects, this workflow file will not need changing; you simply need
|
name: CodeQL analysis
|
||||||
# to commit it to your repository.
|
|
||||||
#
|
|
||||||
# You may wish to alter this file to override the set of languages analyzed,
|
|
||||||
# or to provide custom queries or build logic.
|
|
||||||
#
|
|
||||||
# ******** NOTE ********
|
|
||||||
# We have attempted to detect the languages in your repository. Please check
|
|
||||||
# the `language` matrix defined below to confirm you have the correct set of
|
|
||||||
# supported CodeQL languages.
|
|
||||||
#
|
|
||||||
name: "CodeQL"
|
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ main ]
|
branches: [ main ]
|
||||||
pull_request:
|
pull_request:
|
||||||
# The branches below must be a subset of the branches above
|
|
||||||
branches: [ main ]
|
branches: [ main ]
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '30 8 * * 2'
|
- cron: '0 3 * * 0'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
analyze:
|
call-codeQL-analysis:
|
||||||
name: Analyze
|
name: CodeQL analysis
|
||||||
runs-on: ubuntu-latest
|
uses: actions/reusable-workflows/.github/workflows/codeql-analysis.yml@main
|
||||||
permissions:
|
with:
|
||||||
actions: read
|
languages: "['python']"
|
||||||
contents: read
|
|
||||||
security-events: write
|
|
||||||
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
language: [ 'python' ]
|
|
||||||
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
|
|
||||||
# Learn more about CodeQL language support at https://git.io/codeql-language-support
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
# Initializes the CodeQL tools for scanning.
|
|
||||||
- name: Initialize CodeQL
|
|
||||||
uses: github/codeql-action/init@v1
|
|
||||||
with:
|
|
||||||
languages: ${{ matrix.language }}
|
|
||||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
|
||||||
# By default, queries listed here will override any specified in a config file.
|
|
||||||
# Prefix the list here with "+" to use these queries and those in the config file.
|
|
||||||
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
|
||||||
|
|
||||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
|
||||||
# If this step fails, then you should remove it and run the build manually (see below)
|
|
||||||
- name: Autobuild
|
|
||||||
uses: github/codeql-action/autobuild@v1
|
|
||||||
|
|
||||||
# ℹ️ Command-line programs to run using the OS shell.
|
|
||||||
# 📚 https://git.io/JvXDl
|
|
||||||
|
|
||||||
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
|
||||||
# and modify them (or add more) to build your code if your project
|
|
||||||
# uses a compiled language
|
|
||||||
|
|
||||||
#- run: |
|
|
||||||
# make bootstrap
|
|
||||||
# make release
|
|
||||||
|
|
||||||
- name: Perform CodeQL Analysis
|
|
||||||
uses: github/codeql-action/analyze@v1
|
|
||||||
33
.github/workflows/create-pr.yml
vendored
33
.github/workflows/create-pr.yml
vendored
@@ -2,32 +2,9 @@ name: Create Pull Request
|
|||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
defaults:
|
|
||||||
run:
|
|
||||||
shell: pwsh
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
create_pr:
|
create-pr:
|
||||||
name: Create Pull Request
|
uses: actions/versions-package-tools/.github/workflows/create-pr-to-update-manifest.yml@main
|
||||||
runs-on: ubuntu-latest
|
with:
|
||||||
steps:
|
tool-name: "python"
|
||||||
- uses: actions/checkout@v2
|
secrets: inherit
|
||||||
with:
|
|
||||||
submodules: true
|
|
||||||
|
|
||||||
- name: Create versions-manifest.json
|
|
||||||
run: |
|
|
||||||
./helpers/packages-generation/manifest-generator.ps1 -RepositoryFullName "$env:GITHUB_REPOSITORY" `
|
|
||||||
-GitHubAccessToken "${{secrets.GITHUB_TOKEN}}" `
|
|
||||||
-OutputFile "./versions-manifest.json" `
|
|
||||||
-ConfigurationFile "./config/python-manifest-config.json"
|
|
||||||
- name: Create GitHub PR
|
|
||||||
run: |
|
|
||||||
$formattedDate = Get-Date -Format "MM/dd/yyyy"
|
|
||||||
./helpers/github/create-pull-request.ps1 `
|
|
||||||
-RepositoryFullName "$env:GITHUB_REPOSITORY" `
|
|
||||||
-AccessToken "${{secrets.GITHUB_TOKEN}}" `
|
|
||||||
-BranchName "update-versions-manifest-file" `
|
|
||||||
-CommitMessage "Update versions-manifest" `
|
|
||||||
-PullRequestTitle "[versions-manifest] Update for release from ${formattedDate}" `
|
|
||||||
-PullRequestBody "Update versions-manifest.json for release from ${formattedDate}"
|
|
||||||
|
|||||||
94
.github/workflows/get-python-versions.yml
vendored
94
.github/workflows/get-python-versions.yml
vendored
@@ -4,92 +4,10 @@ on:
|
|||||||
- cron: '0 3,15 * * *'
|
- cron: '0 3,15 * * *'
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
env:
|
|
||||||
TOOL_NAME: "Python"
|
|
||||||
defaults:
|
|
||||||
run:
|
|
||||||
shell: pwsh
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
find_new_versions:
|
get-new-python-versions:
|
||||||
name: Find new versions
|
uses: actions/versions-package-tools/.github/workflows/get-new-tool-versions.yml@main
|
||||||
runs-on: ubuntu-latest
|
with:
|
||||||
outputs:
|
tool-name: "Python"
|
||||||
versions_output: ${{ steps.Get_new_versions.outputs.TOOL_VERSIONS }}
|
image-url: "https://avatars.githubusercontent.com/u/1525981?s=200&v=4"
|
||||||
steps:
|
secrets: inherit
|
||||||
- uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
submodules: true
|
|
||||||
|
|
||||||
- id: Get_new_versions
|
|
||||||
name: Get new versions
|
|
||||||
run: ./helpers/get-new-tool-versions/get-new-tool-versions.ps1 -ToolName ${{ env.TOOL_NAME }}
|
|
||||||
|
|
||||||
check_new_versions:
|
|
||||||
name: Check new versions
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: find_new_versions
|
|
||||||
env:
|
|
||||||
TOOL_VERSIONS: ${{needs.find_new_versions.outputs.versions_output}}
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
submodules: true
|
|
||||||
|
|
||||||
- name: Check Versions
|
|
||||||
if: env.TOOL_VERSIONS == ''
|
|
||||||
run: |
|
|
||||||
Write-Host "No new versions were found"
|
|
||||||
Import-Module "./helpers/github/github-api.psm1"
|
|
||||||
$gitHubApi = Get-GitHubApi -RepositoryFullName "$env:GITHUB_REPOSITORY" `
|
|
||||||
-AccessToken "${{ secrets.PERSONAL_TOKEN }}"
|
|
||||||
$gitHubApi.CancelWorkflow("$env:GITHUB_RUN_ID")
|
|
||||||
Start-Sleep -Seconds 60
|
|
||||||
- name: Send Slack notification
|
|
||||||
run: |
|
|
||||||
$pipelineUrl = "$env:GITHUB_SERVER_URL/$env:GITHUB_REPOSITORY/actions/runs/$env:GITHUB_RUN_ID"
|
|
||||||
$message = "The following versions of '${{ env.TOOL_NAME }}' are available to upload: ${{ env.TOOL_VERSIONS }}\nLink to the pipeline: $pipelineUrl"
|
|
||||||
./helpers/get-new-tool-versions/send-slack-notification.ps1 -Url "${{ secrets.SLACK_CHANNEL_URL }}" `
|
|
||||||
-ToolName "${{ env.TOOL_NAME }}" `
|
|
||||||
-ImageUrl "https://avatars.githubusercontent.com/u/1525981?s=200&v=4" `
|
|
||||||
-Text "$message"
|
|
||||||
|
|
||||||
trigger_builds:
|
|
||||||
name: Trigger builds
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: [find_new_versions, check_new_versions]
|
|
||||||
env:
|
|
||||||
TOOL_VERSIONS: ${{needs.find_new_versions.outputs.versions_output}}
|
|
||||||
environment: Get Available Tools Versions - Publishing Approval
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
submodules: true
|
|
||||||
|
|
||||||
- name: Trigger "Build python packages" workflow
|
|
||||||
run:
|
|
||||||
./helpers/github/run-ci-builds.ps1 -RepositoryFullName "$env:GITHUB_REPOSITORY" `
|
|
||||||
-AccessToken "${{ secrets.PERSONAL_TOKEN }}" `
|
|
||||||
-WorkflowFileName "python-builder.yml" `
|
|
||||||
-WorkflowDispatchRef "main" `
|
|
||||||
-ToolVersions "${{ env.TOOL_VERSIONS }}" `
|
|
||||||
-PublishReleases "true"
|
|
||||||
|
|
||||||
check_build:
|
|
||||||
name: Check build for failures
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: [find_new_versions, check_new_versions, trigger_builds]
|
|
||||||
if: failure()
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
submodules: true
|
|
||||||
|
|
||||||
- name: Send Slack notification if build fails
|
|
||||||
run: |
|
|
||||||
$pipelineUrl = "$env:GITHUB_SERVER_URL/$env:GITHUB_REPOSITORY/actions/runs/$env:GITHUB_RUN_ID"
|
|
||||||
$message = "The build of the '${{ env.TOOL_NAME }}' detection pipeline failed :progress-error:\nLink to the pipeline: $pipelineUrl"
|
|
||||||
./helpers/get-new-tool-versions/send-slack-notification.ps1 -Url "${{ secrets.SLACK_CHANNEL_URL }}" `
|
|
||||||
-ToolName "${{ env.TOOL_NAME }}" `
|
|
||||||
-Text "$message" `
|
|
||||||
-ImageUrl "https://avatars.githubusercontent.com/u/1525981?s=200&v=4"
|
|
||||||
@@ -11,7 +11,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
submodules: true
|
submodules: true
|
||||||
|
|
||||||
@@ -21,7 +21,7 @@ jobs:
|
|||||||
Install-Module Pester -Force -Scope CurrentUser
|
Install-Module Pester -Force -Scope CurrentUser
|
||||||
|
|
||||||
- name: Run tests
|
- name: Run tests
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
run: |
|
run: |
|
||||||
Import-Module Pester
|
Import-Module Pester
|
||||||
Invoke-Pester -Configuration @{
|
Invoke-Pester -Configuration @{
|
||||||
|
|||||||
4
.github/workflows/python-versions-runner.yml
vendored
4
.github/workflows/python-versions-runner.yml
vendored
@@ -21,11 +21,11 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository code
|
- name: Check out repository code
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
- name: Trigger python workflow
|
- name: Trigger python workflow
|
||||||
run: |
|
run: |
|
||||||
$versions = ${{ github.event.inputs.versions }}
|
$versions = ${{ github.event.inputs.versions }}
|
||||||
./builders/python-versions-runner.ps1 -Versions $versions.Split(",") -PublishRelease ${{ github.event.inputs.publish-releases }}
|
./builders/python-versions-runner.ps1 -Versions $versions.Split(",") -PublishRelease ${{ github.event.inputs.publish-releases }}
|
||||||
env:
|
env:
|
||||||
PERSONAL_TOKEN: ${{ secrets.PERSONAL_TOKEN }}
|
TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
2
.github/workflows/releases-validation.yml
vendored
2
.github/workflows/releases-validation.yml
vendored
@@ -18,7 +18,7 @@ jobs:
|
|||||||
python: [3.5.4, 3.6.7, 3.7.5, 3.8.1]
|
python: [3.5.4, 3.6.7, 3.7.5, 3.8.1]
|
||||||
steps:
|
steps:
|
||||||
- name: setup-python ${{ matrix.python }}
|
- name: setup-python ${{ matrix.python }}
|
||||||
uses: actions/setup-python@v3
|
uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
python-version: ${{ matrix.python }}
|
python-version: ${{ matrix.python }}
|
||||||
|
|
||||||
|
|||||||
47
.github/workflows/validate-manifest.yml
vendored
47
.github/workflows/validate-manifest.yml
vendored
@@ -1,48 +1,21 @@
|
|||||||
name: Validate manifest
|
name: Validate manifest
|
||||||
|
|
||||||
on:
|
on:
|
||||||
|
# The GITHUB_TOKEN secret is used to create a PR
|
||||||
|
# The pull_request event will not be triggered by it
|
||||||
|
# That's one of the reasons we need the schedule to validate the versions-manifest.json file
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '0 8,20 * * *'
|
- cron: '0 8,20 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
paths:
|
paths:
|
||||||
- 'versions-manifest.json'
|
- 'versions-manifest.json'
|
||||||
|
|
||||||
env:
|
|
||||||
TOOL_NAME: "Python"
|
|
||||||
|
|
||||||
defaults:
|
|
||||||
run:
|
|
||||||
shell: pwsh
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
validation:
|
manifest:
|
||||||
runs-on: ubuntu-latest
|
uses: actions/versions-package-tools/.github/workflows/validate-manifest.yml@main
|
||||||
steps:
|
with:
|
||||||
- uses: actions/checkout@v2
|
tool-name: "Python"
|
||||||
with:
|
image-url: "https://avatars.githubusercontent.com/u/1525981?s=200&v=4"
|
||||||
submodules: true
|
secrets: inherit
|
||||||
|
|
||||||
- name: Validate python-versions manifest
|
|
||||||
run: .\helpers\packages-generation\manifest-validator.ps1 -ManifestPath '.\versions-manifest.json'
|
|
||||||
|
|
||||||
check_build:
|
|
||||||
name: Check validation for failures
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: [validation]
|
|
||||||
if: failure()
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
submodules: true
|
|
||||||
|
|
||||||
- name: Send Slack notification if validation fails
|
|
||||||
run: |
|
|
||||||
$pipelineUrl = "$env:GITHUB_SERVER_URL/$env:GITHUB_REPOSITORY/actions/runs/$env:GITHUB_RUN_ID"
|
|
||||||
$message = "The validation of python-versions manifest failed. \nLink to the pipeline: $pipelineUrl"
|
|
||||||
.\helpers\get-new-tool-versions\send-slack-notification.ps1 -Url "${{ secrets.SLACK_CHANNEL_URL }}" `
|
|
||||||
-ToolName "${{ env.TOOL_NAME }}" `
|
|
||||||
-Text "$message" `
|
|
||||||
-ImageUrl "https://www.python.org/static/community_logos/python-powered-h-100x130.png"
|
|
||||||
25
README.md
25
README.md
@@ -1,16 +1,25 @@
|
|||||||
# Python for Actions
|
# Python for Actions
|
||||||
This repository contains the code and scripts that we use to build Python packages used in [virtual-environments](https://github.com/actions/virtual-environments) and accessible through the [setup-python](https://github.com/actions/setup-python) Action.
|
This repository contains the code and scripts that we use to build Python packages used in [runner-images](https://github.com/actions/runner-images) and accessible through the [setup-python](https://github.com/actions/setup-python) Action.
|
||||||
File [versions-manifest.json](./versions-manifest.json) contains the list of available and released versions.
|
File [versions-manifest.json](./versions-manifest.json) contains the list of available and released versions.
|
||||||
|
|
||||||
> Caution: this is prepared for and only permitted for use by actions `virtual-environments` and `setup-python` action.
|
> Caution: this is prepared for and only permitted for use by actions `runner-images` and `setup-python` action.
|
||||||
|
|
||||||
**Status**: Currently under development and in use for beta and preview actions. This repo is undergoing rapid changes.
|
Some versions are pre-installed on [runner-images](https://github.com/actions/runner-images) images.
|
||||||
|
More versions are available to install on-the-fly through the [`setup-python`](https://github.com/actions/setup-python) action.
|
||||||
|
|
||||||
Some versions are pre-installed on [virtual-environments](https://github.com/actions/virtual-environments) images.
|
## Building installation packages
|
||||||
More versions will (soon!) be available to install on-the-fly through the [`setup-python`](https://github.com/actions/setup-python) action.
|
**Ubuntu:** The official Python sources are downloaded from [python.org](https://www.python.org/ftp/python/), built using the `make` tool, and archived along with the installation script for further distribution and installation. We build each Python version against all [versions of Ubuntu](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources) that are available at the time the Python version is released.
|
||||||
|
|
||||||
## Adding new versions
|
**macOS:**
|
||||||
We are trying to build and release new versions of Python as soon as they are released. Please open an issue in [actions/virtual-environments](https://github.com/actions/virtual-environments) if any versions are missing.
|
- For **Python < 3.11**, the official Python sources are downloaded from [python.org](https://www.python.org/ftp/python/), built using the `make` tool, and archived along with the installation script for further distribution and installation. For backward compatibility, we build each Python version against the oldest [version of macOS](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources) that is available at the time the Python version is released.
|
||||||
|
- For **Python >= 3.11**, the official macOS `universal2` Python binaries are simply downloaded from [python.org](https://www.python.org/ftp/python/) and archived along with the installation script for further distribution and installation.
|
||||||
|
|
||||||
|
**Windows:** The official Python executables are simply downloaded from [python.org](https://www.python.org/ftp/python/) and archived along with the installation script for further distribution and installation.
|
||||||
|
|
||||||
|
## Support policy
|
||||||
|
We aim to make new versions of Python available as soon as they are released. Both stable and prerelease versions are considered for building and releasing. Please open an issue in [actions/setup-python](https://github.com/actions/setup-python) if a version you're looking for isn't available.
|
||||||
|
|
||||||
|
When a new version of an operating system is released and made available for use with [GitHub hosted runners](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources), we will provide the **latest existing patch versions of Python for all major versions that have not reached [end-of-life](https://devguide.python.org/versions/)**. Any subsequent Python versions will be made available for the new OS as well.
|
||||||
|
|
||||||
## Contribution
|
## Contribution
|
||||||
Contributions are welcome! See [Contributor's Guide](./CONTRIBUTING.md) for more details about contribution process and code structure
|
Contributions are welcome! See [Contributor's Guide](./CONTRIBUTING.md) for more details about contribution process and code structure
|
||||||
|
|||||||
@@ -12,10 +12,10 @@ function Invoke-Workflow {
|
|||||||
}
|
}
|
||||||
} | ConvertTo-Json
|
} | ConvertTo-Json
|
||||||
$headers = @{
|
$headers = @{
|
||||||
Authorization="Bearer $env:PERSONAL_TOKEN"
|
Authorization="Bearer $env:TOKEN"
|
||||||
}
|
}
|
||||||
$actionsRepoUri = "$env:GITHUB_API_URL/repos/$env:GITHUB_REPOSITORY/actions"
|
$actionsRepoUri = "$env:GITHUB_API_URL/repos/$env:GITHUB_REPOSITORY/actions"
|
||||||
Invoke-RestMethod -uri "$actionsRepoUri/workflows/python-builder.yml/dispatches" -method POST -headers $headers -body $payload
|
Invoke-RestMethod -uri "$actionsRepoUri/workflows/build-python-packages.yml/dispatches" -method POST -headers $headers -body $payload
|
||||||
|
|
||||||
$result = [PSCustomObject]@{
|
$result = [PSCustomObject]@{
|
||||||
Version = $Version
|
Version = $Version
|
||||||
|
|||||||
@@ -64,6 +64,14 @@ class macOSPythonBuilder : NixPythonBuilder {
|
|||||||
$env:CFLAGS = "-I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/zlib/include"
|
$env:CFLAGS = "-I/usr/local/opt/openssl@1.1/include -I/usr/local/opt/zlib/include"
|
||||||
} else {
|
} else {
|
||||||
$configureString += " --with-openssl=/usr/local/opt/openssl@1.1"
|
$configureString += " --with-openssl=/usr/local/opt/openssl@1.1"
|
||||||
|
|
||||||
|
# For Python 3.7.2 and 3.7.3 we need to provide PATH for zlib to pack it properly. Otherwise the build will fail
|
||||||
|
# with the error: zipimport.ZipImportError: can't decompress data; zlib not available
|
||||||
|
if ($this.Version -eq "3.7.2" -or $this.Version -eq "3.7.3") {
|
||||||
|
$env:LDFLAGS = "-L/usr/local/opt/zlib/lib"
|
||||||
|
$env:CFLAGS = "-I/usr/local/opt/zlib/include"
|
||||||
|
}
|
||||||
|
|
||||||
if ($this.Version -gt "3.7.12") {
|
if ($this.Version -gt "3.7.12") {
|
||||||
$configureString += " --with-tcltk-includes='-I /usr/local/opt/tcl-tk/include' --with-tcltk-libs='-L/usr/local/opt/tcl-tk/lib -ltcl8.6 -ltk8.6'"
|
$configureString += " --with-tcltk-includes='-I /usr/local/opt/tcl-tk/include' --with-tcltk-libs='-L/usr/local/opt/tcl-tk/lib -ltcl8.6 -ltk8.6'"
|
||||||
}
|
}
|
||||||
|
|||||||
2
helpers
2
helpers
Submodule helpers updated: 6f1aa3ce73...896369fc7d
@@ -54,7 +54,13 @@ echo "Create additional symlinks (Required for the UsePythonVersion Azure Pipeli
|
|||||||
ln -s ./bin/$PYTHON_MAJOR_DOT_MINOR python
|
ln -s ./bin/$PYTHON_MAJOR_DOT_MINOR python
|
||||||
|
|
||||||
cd bin/
|
cd bin/
|
||||||
ln -s $PYTHON_MAJOR_DOT_MINOR $PYTHON_MAJOR_MINOR
|
|
||||||
|
# This symlink already exists if Python version with the same major.minor version is installed,
|
||||||
|
# since we do not remove the framework folder
|
||||||
|
if [ ! -f $PYTHON_MAJOR_MINOR ]; then
|
||||||
|
ln -s $PYTHON_MAJOR_DOT_MINOR $PYTHON_MAJOR_MINOR
|
||||||
|
fi
|
||||||
|
|
||||||
if [ ! -f python ]; then
|
if [ ! -f python ]; then
|
||||||
ln -s $PYTHON_MAJOR_DOT_MINOR python
|
ln -s $PYTHON_MAJOR_DOT_MINOR python
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ Describe "Tests" {
|
|||||||
# }
|
# }
|
||||||
# }
|
# }
|
||||||
|
|
||||||
if (($Version -ge "3.2.0") -and -not ([semver]"$($Version.Major).$($Version.Minor)" -eq [semver]"3.11" -and $Version.PreReleaseLabel)) {
|
if (($Version -ge "3.2.0") -and ($Version -lt "3.11.0")) {
|
||||||
It "Check if sqlite3 module is installed" {
|
It "Check if sqlite3 module is installed" {
|
||||||
"python ./sources/python-sqlite3.py" | Should -ReturnZeroExitCode
|
"python ./sources/python-sqlite3.py" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
@@ -93,7 +93,8 @@ Describe "Tests" {
|
|||||||
It "Validate Pyinstaller" {
|
It "Validate Pyinstaller" {
|
||||||
"pip install pyinstaller" | Should -ReturnZeroExitCode
|
"pip install pyinstaller" | Should -ReturnZeroExitCode
|
||||||
"pyinstaller --onefile ./sources/simple-test.py" | Should -ReturnZeroExitCode
|
"pyinstaller --onefile ./sources/simple-test.py" | Should -ReturnZeroExitCode
|
||||||
"./dist/simple-test" | Should -ReturnZeroExitCode
|
$distPath = [IO.Path]::Combine($pwd, "dist", "simple-test")
|
||||||
|
"$distPath" | Should -ReturnZeroExitCode
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -78,6 +78,7 @@ if os_type == 'Darwin':
|
|||||||
exit(1)
|
exit(1)
|
||||||
|
|
||||||
### Validate libreadline
|
### Validate libreadline
|
||||||
if not have_libreadline:
|
if sys.version_info < (3, 12):
|
||||||
print('Missing libreadline')
|
if not have_libreadline:
|
||||||
exit(1)
|
print('Missing libreadline')
|
||||||
|
exit(1)
|
||||||
@@ -271,6 +271,12 @@ if sys.version_info >= (3, 11) and platform.system() == 'Linux' and '18.04' in p
|
|||||||
standard_library.remove('tkinter')
|
standard_library.remove('tkinter')
|
||||||
standard_library.remove('turtle')
|
standard_library.remove('turtle')
|
||||||
|
|
||||||
|
# 'smtpd', 'asyncore' and 'asynchat' modules have been removed from Python 3.12
|
||||||
|
if sys.version_info >= (3, 12):
|
||||||
|
standard_library.remove('smtpd')
|
||||||
|
standard_library.remove('asyncore')
|
||||||
|
standard_library.remove('asynchat')
|
||||||
|
|
||||||
# Remove tkinter and Easter eggs
|
# Remove tkinter and Easter eggs
|
||||||
excluded_modules = [
|
excluded_modules = [
|
||||||
'antigravity',
|
'antigravity',
|
||||||
|
|||||||
@@ -1,4 +1,280 @@
|
|||||||
[
|
[
|
||||||
|
{
|
||||||
|
"version": "3.12.0-alpha.4",
|
||||||
|
"stable": false,
|
||||||
|
"release_url": "https://github.com/actions/python-versions/releases/tag/3.12.0-alpha.4-3890631539",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"filename": "python-3.12.0-alpha.4-darwin-x64.tar.gz",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.12.0-alpha.4-3890631539/python-3.12.0-alpha.4-darwin-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.12.0-alpha.4-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.12.0-alpha.4-3890631539/python-3.12.0-alpha.4-linux-18.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.12.0-alpha.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.0-alpha.4-3890631539/python-3.12.0-alpha.4-linux-20.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.12.0-alpha.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.0-alpha.4-3890631539/python-3.12.0-alpha.4-linux-22.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.12.0-alpha.4-win32-x64.zip",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "win32",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.12.0-alpha.4-3890631539/python-3.12.0-alpha.4-win32-x64.zip"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.12.0-alpha.4-win32-x86.zip",
|
||||||
|
"arch": "x86",
|
||||||
|
"platform": "win32",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.12.0-alpha.4-3890631539/python-3.12.0-alpha.4-win32-x86.zip"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "3.12.0-alpha.3",
|
||||||
|
"stable": false,
|
||||||
|
"release_url": "https://github.com/actions/python-versions/releases/tag/3.12.0-alpha.3-3638209027",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"filename": "python-3.12.0-alpha.3-darwin-x64.tar.gz",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.12.0-alpha.3-3638209027/python-3.12.0-alpha.3-darwin-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.12.0-alpha.3-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.12.0-alpha.3-3638209027/python-3.12.0-alpha.3-linux-18.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.12.0-alpha.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.0-alpha.3-3638209027/python-3.12.0-alpha.3-linux-20.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.12.0-alpha.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.0-alpha.3-3638209027/python-3.12.0-alpha.3-linux-22.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.12.0-alpha.3-win32-x64.zip",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "win32",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.12.0-alpha.3-3638209027/python-3.12.0-alpha.3-win32-x64.zip"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.12.0-alpha.3-win32-x86.zip",
|
||||||
|
"arch": "x86",
|
||||||
|
"platform": "win32",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.12.0-alpha.3-3638209027/python-3.12.0-alpha.3-win32-x86.zip"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "3.12.0-alpha.2",
|
||||||
|
"stable": false,
|
||||||
|
"release_url": "https://github.com/actions/python-versions/releases/tag/3.12.0-alpha.2-3524742960",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"filename": "python-3.12.0-alpha.2-darwin-x64.tar.gz",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.12.0-alpha.2-3524742960/python-3.12.0-alpha.2-darwin-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.12.0-alpha.2-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.12.0-alpha.2-3524742960/python-3.12.0-alpha.2-linux-18.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.12.0-alpha.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.12.0-alpha.2-3524742960/python-3.12.0-alpha.2-linux-20.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.12.0-alpha.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.12.0-alpha.2-3524742960/python-3.12.0-alpha.2-linux-22.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.12.0-alpha.2-win32-x64.zip",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "win32",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.12.0-alpha.2-3524742960/python-3.12.0-alpha.2-win32-x64.zip"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.12.0-alpha.2-win32-x86.zip",
|
||||||
|
"arch": "x86",
|
||||||
|
"platform": "win32",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.12.0-alpha.2-3524742960/python-3.12.0-alpha.2-win32-x86.zip"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "3.12.0-alpha.1",
|
||||||
|
"stable": false,
|
||||||
|
"release_url": "https://github.com/actions/python-versions/releases/tag/3.12.0-alpha.1-3427281458",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"filename": "python-3.12.0-alpha.1-darwin-x64.tar.gz",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.12.0-alpha.1-3427281458/python-3.12.0-alpha.1-darwin-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.12.0-alpha.1-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.12.0-alpha.1-3427281458/python-3.12.0-alpha.1-linux-18.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.12.0-alpha.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.12.0-alpha.1-3427281458/python-3.12.0-alpha.1-linux-20.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.12.0-alpha.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.12.0-alpha.1-3427281458/python-3.12.0-alpha.1-linux-22.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.12.0-alpha.1-win32-x64.zip",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "win32",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.12.0-alpha.1-3427281458/python-3.12.0-alpha.1-win32-x64.zip"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.12.0-alpha.1-win32-x86.zip",
|
||||||
|
"arch": "x86",
|
||||||
|
"platform": "win32",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.12.0-alpha.1-3427281458/python-3.12.0-alpha.1-win32-x86.zip"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "3.11.1",
|
||||||
|
"stable": true,
|
||||||
|
"release_url": "https://github.com/actions/python-versions/releases/tag/3.11.1-3646089612",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"filename": "python-3.11.1-darwin-x64.tar.gz",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.11.1-3646089612/python-3.11.1-darwin-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.11.1-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.11.1-3646089612/python-3.11.1-linux-18.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.11.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.11.1-3646089612/python-3.11.1-linux-20.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.11.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.11.1-3646089612/python-3.11.1-linux-22.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.11.1-win32-x64.zip",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "win32",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.11.1-3646089612/python-3.11.1-win32-x64.zip"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.11.1-win32-x86.zip",
|
||||||
|
"arch": "x86",
|
||||||
|
"platform": "win32",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.11.1-3646089612/python-3.11.1-win32-x86.zip"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "3.11.0",
|
||||||
|
"stable": true,
|
||||||
|
"release_url": "https://github.com/actions/python-versions/releases/tag/3.11.0-3730290910",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"filename": "python-3.11.0-darwin-x64.tar.gz",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.11.0-3730290910/python-3.11.0-darwin-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.11.0-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.11.0-3730290910/python-3.11.0-linux-18.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.11.0-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.0-3730290910/python-3.11.0-linux-20.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.11.0-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.0-3730290910/python-3.11.0-linux-22.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.11.0-win32-x64.zip",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "win32",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.11.0-3730290910/python-3.11.0-win32-x64.zip"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.11.0-win32-x86.zip",
|
||||||
|
"arch": "x86",
|
||||||
|
"platform": "win32",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.11.0-3730290910/python-3.11.0-win32-x86.zip"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"version": "3.11.0-rc.2",
|
"version": "3.11.0-rc.2",
|
||||||
"stable": false,
|
"stable": false,
|
||||||
@@ -594,6 +870,98 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"version": "3.10.9",
|
||||||
|
"stable": true,
|
||||||
|
"release_url": "https://github.com/actions/python-versions/releases/tag/3.10.9-3636985951",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"filename": "python-3.10.9-darwin-x64.tar.gz",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.10.9-3636985951/python-3.10.9-darwin-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.10.9-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.10.9-3636985951/python-3.10.9-linux-18.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.10.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.10.9-3636985951/python-3.10.9-linux-20.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.10.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.10.9-3636985951/python-3.10.9-linux-22.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.10.9-win32-x64.zip",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "win32",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.10.9-3636985951/python-3.10.9-win32-x64.zip"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.10.9-win32-x86.zip",
|
||||||
|
"arch": "x86",
|
||||||
|
"platform": "win32",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.10.9-3636985951/python-3.10.9-win32-x86.zip"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "3.10.8",
|
||||||
|
"stable": true,
|
||||||
|
"release_url": "https://github.com/actions/python-versions/releases/tag/3.10.8-3271105491",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"filename": "python-3.10.8-darwin-x64.tar.gz",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.10.8-3271105491/python-3.10.8-darwin-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.10.8-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.10.8-3271105491/python-3.10.8-linux-18.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.10.8-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.8-3271105491/python-3.10.8-linux-20.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.10.8-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.8-3271105491/python-3.10.8-linux-22.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.10.8-win32-x64.zip",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "win32",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.10.8-3271105491/python-3.10.8-win32-x64.zip"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.10.8-win32-x86.zip",
|
||||||
|
"arch": "x86",
|
||||||
|
"platform": "win32",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.10.8-3271105491/python-3.10.8-win32-x86.zip"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"version": "3.10.7",
|
"version": "3.10.7",
|
||||||
"stable": true,
|
"stable": true,
|
||||||
@@ -1511,6 +1879,74 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"version": "3.9.16",
|
||||||
|
"stable": true,
|
||||||
|
"release_url": "https://github.com/actions/python-versions/releases/tag/3.9.16-3647595251",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"filename": "python-3.9.16-darwin-x64.tar.gz",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.9.16-3647595251/python-3.9.16-darwin-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.9.16-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.16-3647595251/python-3.9.16-linux-18.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.9.16-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.16-3647595251/python-3.9.16-linux-20.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.9.16-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.16-3647595251/python-3.9.16-linux-22.04-x64.tar.gz"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "3.9.15",
|
||||||
|
"stable": true,
|
||||||
|
"release_url": "https://github.com/actions/python-versions/releases/tag/3.9.15-3271275280",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"filename": "python-3.9.15-darwin-x64.tar.gz",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.9.15-3271275280/python-3.9.15-darwin-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.9.15-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.15-3271275280/python-3.9.15-linux-18.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.9.15-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.15-3271275280/python-3.9.15-linux-20.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.9.15-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.15-3271275280/python-3.9.15-linux-22.04-x64.tar.gz"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"version": "3.9.14",
|
"version": "3.9.14",
|
||||||
"stable": true,
|
"stable": true,
|
||||||
@@ -2423,6 +2859,74 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"version": "3.8.16",
|
||||||
|
"stable": true,
|
||||||
|
"release_url": "https://github.com/actions/python-versions/releases/tag/3.8.16-3888430809",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"filename": "python-3.8.16-darwin-x64.tar.gz",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.8.16-3888430809/python-3.8.16-darwin-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.8.16-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.16-3888430809/python-3.8.16-linux-18.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.8.16-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.8.16-3888430809/python-3.8.16-linux-20.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.8.16-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.8.16-3888430809/python-3.8.16-linux-22.04-x64.tar.gz"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"version": "3.8.15",
|
||||||
|
"stable": true,
|
||||||
|
"release_url": "https://github.com/actions/python-versions/releases/tag/3.8.15-3601364564",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"filename": "python-3.8.15-darwin-x64.tar.gz",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.8.15-3601364564/python-3.8.15-darwin-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.8.15-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.15-3601364564/python-3.8.15-linux-18.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.8.15-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.8.15-3601364564/python-3.8.15-linux-20.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.8.15-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.8.15-3601364564/python-3.8.15-linux-22.04-x64.tar.gz"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"version": "3.8.14",
|
"version": "3.8.14",
|
||||||
"stable": true,
|
"stable": true,
|
||||||
@@ -3044,6 +3548,40 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"version": "3.7.15",
|
||||||
|
"stable": true,
|
||||||
|
"release_url": "https://github.com/actions/python-versions/releases/tag/3.7.15-3272001243",
|
||||||
|
"files": [
|
||||||
|
{
|
||||||
|
"filename": "python-3.7.15-darwin-x64.tar.gz",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "darwin",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/3.7.15-3272001243/python-3.7.15-darwin-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.7.15-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.7.15-3272001243/python-3.7.15-linux-18.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.7.15-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.7.15-3272001243/python-3.7.15-linux-20.04-x64.tar.gz"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-3.7.15-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.7.15-3272001243/python-3.7.15-linux-22.04-x64.tar.gz"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"version": "3.7.14",
|
"version": "3.7.14",
|
||||||
"stable": true,
|
"stable": true,
|
||||||
@@ -4061,6 +4599,13 @@
|
|||||||
"platform_version": "20.04",
|
"platform_version": "20.04",
|
||||||
"download_url": "https://github.com/actions/python-versions/releases/download/2.7.18-87224/python-2.7.18-linux-20.04-x64.tar.gz"
|
"download_url": "https://github.com/actions/python-versions/releases/download/2.7.18-87224/python-2.7.18-linux-20.04-x64.tar.gz"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"filename": "python-2.7.18-linux-22.04-x64.tar.gz",
|
||||||
|
"arch": "x64",
|
||||||
|
"platform": "linux",
|
||||||
|
"platform_version": "22.04",
|
||||||
|
"download_url": "https://github.com/actions/python-versions/releases/download/2.7.18-87224/python-2.7.18-linux-22.04-x64.tar.gz"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"filename": "python-2.7.18-win32-x64.zip",
|
"filename": "python-2.7.18-win32-x64.zip",
|
||||||
"arch": "x64",
|
"arch": "x64",
|
||||||
|
|||||||
Reference in New Issue
Block a user