mirror of
https://github.com/actions/python-versions.git
synced 2025-12-15 15:32:11 +00:00
Compare commits
3 Commits
testwin201
...
revert-281
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dc8399c949 | ||
|
|
8108f421b7 | ||
|
|
8bbb5413e0 |
100
.github/workflows/build-python-packages.yml
vendored
100
.github/workflows/build-python-packages.yml
vendored
@@ -15,7 +15,7 @@ on:
|
||||
PLATFORMS:
|
||||
description: 'Platforms for execution in "os" or "os_arch" format (arch is "x64" by default)'
|
||||
required: true
|
||||
default: 'ubuntu-20.04,ubuntu-20.04_arm64,ubuntu-22.04,ubuntu-22.04_arm64,ubuntu-24.04,ubuntu-24.04_arm64,macos-11_x64,macos-14_arm64,windows-2019_x64,windows-2019_x86'
|
||||
default: 'ubuntu-20.04,ubuntu-22.04,ubuntu-24.04,macos-11_x64,macos-11_arm64,windows-2019_x64,windows-2019_x86'
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- 'versions-manifest.json'
|
||||
@@ -39,8 +39,9 @@ jobs:
|
||||
- name: Generate execution matrix
|
||||
id: generate-matrix
|
||||
run: |
|
||||
[String[]]$configurations = "${{ inputs.platforms || 'ubuntu-20.04,ubuntu-20.04_arm64,ubuntu-22.04,ubuntu-22.04_arm64,ubuntu-24.04,ubuntu-24.04_arm64,macos-11,macos-14_arm64,windows-2019_x64,windows-2019_x86' }}".Split(",").Trim()
|
||||
[String[]]$configurations = "${{ inputs.platforms || 'ubuntu-20.04,ubuntu-22.04,ubuntu-24.04,macos-11,macos-11_arm64,windows-2019_x64,windows-2019_x86' }}".Split(",").Trim()
|
||||
$matrix = @()
|
||||
|
||||
foreach ($configuration in $configurations) {
|
||||
$parts = $configuration.Split("_")
|
||||
$os = $parts[0]
|
||||
@@ -57,6 +58,7 @@ jobs:
|
||||
}
|
||||
}
|
||||
echo "matrix=$($matrix | ConvertTo-Json -Compress -AsArray)" >> $env:GITHUB_OUTPUT
|
||||
|
||||
build_python:
|
||||
needs: generate_matrix
|
||||
strategy:
|
||||
@@ -68,59 +70,16 @@ jobs:
|
||||
ARTIFACT_NAME: python-${{ inputs.VERSION || '3.12.3' }}-${{ matrix.platform }}-${{ matrix.arch }}
|
||||
steps:
|
||||
|
||||
- name: Install Chocolatey
|
||||
if: runner.os == 'Windows' && runner.architecture == 'ARM64'
|
||||
shell: powershell
|
||||
run: |
|
||||
Set-ExecutionPolicy Bypass -Scope Process -Force
|
||||
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
|
||||
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
|
||||
echo "C:\ProgramData\Chocolatey\bin" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
|
||||
- name: Install PowerShell
|
||||
if: runner.os == 'Windows' && runner.architecture == 'ARM64'
|
||||
shell: cmd
|
||||
run: |
|
||||
choco install powershell-core -y
|
||||
- name: Add PowerShell to PATH
|
||||
if: runner.os == 'Windows' && runner.architecture == 'ARM64'
|
||||
shell: powershell
|
||||
run: |
|
||||
echo "C:\Program Files\PowerShell\7" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
|
||||
|
||||
- name: Install Git
|
||||
if: runner.os == 'Windows' && runner.architecture == 'ARM64'
|
||||
shell: cmd
|
||||
run: |
|
||||
choco install git -y
|
||||
- name: Add Git to PATH
|
||||
if: runner.os == 'Windows' && runner.architecture == 'ARM64'
|
||||
shell: powershell
|
||||
run: |
|
||||
echo "C:\Program Files\Git\cmd" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
|
||||
- name: Check git version
|
||||
if: runner.os == 'Windows' && runner.architecture == 'ARM64'
|
||||
run: |
|
||||
git --version
|
||||
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
- name: Install 7-Zip
|
||||
if: runner.os == 'Windows' && runner.architecture == 'ARM64'
|
||||
shell: cmd
|
||||
run: |
|
||||
choco install 7zip -y
|
||||
- name: Add 7-Zip to PATH
|
||||
if: runner.os == 'Windows' && runner.architecture == 'ARM64'
|
||||
shell: powershell
|
||||
run: |
|
||||
echo "C:\ProgramData\chocolatey\bin" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
|
||||
- name: Build Python ${{ env.VERSION }}
|
||||
run: |
|
||||
./builders/build-python.ps1 -Version $env:VERSION `
|
||||
-Platform ${{ matrix.platform }} -Architecture ${{ matrix.arch }}
|
||||
|
||||
- name: Publish artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
@@ -139,39 +98,6 @@ jobs:
|
||||
ARTIFACT_NAME: python-${{ inputs.VERSION || '3.12.3' }}-${{ matrix.platform }}-${{ matrix.arch }}
|
||||
steps:
|
||||
|
||||
- name: Install Chocolatey
|
||||
if: runner.os == 'Windows' && runner.architecture == 'ARM64'
|
||||
shell: powershell
|
||||
run: |
|
||||
Set-ExecutionPolicy Bypass -Scope Process -Force
|
||||
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
|
||||
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
|
||||
echo "C:\ProgramData\Chocolatey\bin" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
|
||||
- name: Install PowerShell
|
||||
if: runner.os == 'Windows' && runner.architecture == 'ARM64'
|
||||
shell: cmd
|
||||
run: |
|
||||
choco install powershell-core -y
|
||||
- name: Add PowerShell to PATH
|
||||
if: runner.os == 'Windows' && runner.architecture == 'ARM64'
|
||||
shell: powershell
|
||||
run: |
|
||||
echo "C:\Program Files\PowerShell\7" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
|
||||
|
||||
- name: Install Git
|
||||
if: runner.os == 'Windows' && runner.architecture == 'ARM64'
|
||||
shell: cmd
|
||||
run: |
|
||||
choco install git -y
|
||||
- name: Add Git to PATH
|
||||
if: runner.os == 'Windows' && runner.architecture == 'ARM64'
|
||||
shell: powershell
|
||||
run: |
|
||||
echo "C:\Program Files\Git\cmd" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
|
||||
- name: Check git version
|
||||
if: runner.os == 'Windows' && runner.architecture == 'ARM64'
|
||||
run: |
|
||||
git --version
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
@@ -191,15 +117,6 @@ jobs:
|
||||
name: ${{ env.ARTIFACT_NAME }}
|
||||
path: ${{ runner.temp }}/${{ env.ARTIFACT_NAME }}
|
||||
|
||||
- name: Install 7-Zip
|
||||
if: runner.os == 'Windows' && runner.architecture == 'ARM64'
|
||||
shell: cmd
|
||||
run: |
|
||||
choco install 7zip -y
|
||||
- name: Add 7-Zip to PATH
|
||||
shell: powershell
|
||||
run: |
|
||||
echo "C:\ProgramData\chocolatey\bin" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
|
||||
- name: Extract files
|
||||
run: |
|
||||
if ('${{ matrix.platform }}' -eq 'win32') {
|
||||
@@ -238,9 +155,9 @@ jobs:
|
||||
run: |
|
||||
$pythonLocation = which python
|
||||
if ('${{ matrix.platform }}' -eq 'darwin') { otool -L $pythonLocation } else { ldd $pythonLocation }
|
||||
|
||||
- name: Run tests
|
||||
run: |
|
||||
Install-Module Pester -Force -Scope CurrentUser -SkipPublisherCheck
|
||||
Import-Module Pester
|
||||
$pesterContainer = New-PesterContainer -Path './python-tests.ps1' -Data @{
|
||||
Version="${{ env.VERSION }}";
|
||||
@@ -261,6 +178,9 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/download-artifact@v4
|
||||
with:
|
||||
pattern: python-*
|
||||
merge-multiple: true
|
||||
|
||||
- name: Publish Release ${{ env.VERSION }}
|
||||
id: create_release
|
||||
@@ -272,6 +192,7 @@ jobs:
|
||||
release_name: ${{ env.VERSION }}
|
||||
body: |
|
||||
Python ${{ env.VERSION }}
|
||||
|
||||
- name: Generate hash for packages
|
||||
run: |
|
||||
$childItems = Get-Childitem -Path '.'
|
||||
@@ -319,3 +240,4 @@ jobs:
|
||||
workflow_id: 'create-pr.yml',
|
||||
ref: 'main'
|
||||
});
|
||||
|
||||
|
||||
@@ -60,11 +60,8 @@ class WinPythonBuilder : PythonBuilder {
|
||||
} else {
|
||||
$ArchitectureExtension = ".amd64"
|
||||
}
|
||||
}elseif ($this.Architecture -eq "arm64") {
|
||||
$ArchitectureExtension = "-arm64"
|
||||
}
|
||||
|
||||
|
||||
return $ArchitectureExtension
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user