mirror of
https://github.com/actions/python-versions.git
synced 2025-12-14 06:26:45 +00:00
Update build-python-packages.yml
This commit is contained in:
111
.github/workflows/build-python-packages.yml
vendored
111
.github/workflows/build-python-packages.yml
vendored
@@ -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: 'setup-actions-windows-arm64-4-core'
|
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'
|
||||||
pull_request:
|
pull_request:
|
||||||
paths-ignore:
|
paths-ignore:
|
||||||
- 'versions-manifest.json'
|
- 'versions-manifest.json'
|
||||||
@@ -28,26 +28,10 @@ env:
|
|||||||
VERSION: ${{ inputs.VERSION || '3.12.3' }}
|
VERSION: ${{ inputs.VERSION || '3.12.3' }}
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: 'C:\Program Files\PowerShell\7\pwsh.exe -Command {0}'
|
shell: pwsh
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
install_Pwsh_git:
|
|
||||||
runs-on: setup-actions-windows-arm64-4-core
|
|
||||||
|
|
||||||
steps:
|
|
||||||
|
|
||||||
- run: |
|
|
||||||
Set-ExecutionPolicy Bypass -Scope Process -Force
|
|
||||||
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
|
|
||||||
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
|
|
||||||
choco install -y pwsh
|
|
||||||
choco install -y git --version=2.18.0
|
|
||||||
'C:\Program Files\PowerShell\7\' | Out-File $env:GITHUB_PATH -Append
|
|
||||||
'C:\Program Files\Git\bin' | Out-File $env:GITHUB_PATH -Append
|
|
||||||
shell: powershell
|
|
||||||
|
|
||||||
generate_matrix:
|
generate_matrix:
|
||||||
needs: [install_Pwsh_git]
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
outputs:
|
outputs:
|
||||||
matrix: ${{ steps.generate-matrix.outputs.matrix }}
|
matrix: ${{ steps.generate-matrix.outputs.matrix }}
|
||||||
@@ -55,7 +39,7 @@ 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-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()
|
||||||
$matrix = @()
|
$matrix = @()
|
||||||
|
|
||||||
foreach ($configuration in $configurations) {
|
foreach ($configuration in $configurations) {
|
||||||
@@ -76,8 +60,7 @@ jobs:
|
|||||||
echo "matrix=$($matrix | ConvertTo-Json -Compress -AsArray)" >> $env:GITHUB_OUTPUT
|
echo "matrix=$($matrix | ConvertTo-Json -Compress -AsArray)" >> $env:GITHUB_OUTPUT
|
||||||
|
|
||||||
build_python:
|
build_python:
|
||||||
|
needs: generate_matrix
|
||||||
needs: [install_Pwsh_git, generate_matrix]
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
@@ -86,10 +69,50 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
ARTIFACT_NAME: python-${{ inputs.VERSION || '3.12.3' }}-${{ matrix.platform }}-${{ matrix.arch }}
|
ARTIFACT_NAME: python-${{ inputs.VERSION || '3.12.3' }}-${{ matrix.platform }}-${{ matrix.arch }}
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
|
- name: Install Chocolatey
|
||||||
|
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
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
choco install powershell-core -y
|
||||||
|
- name: Add PowerShell to PATH
|
||||||
|
shell: powershell
|
||||||
|
run: |
|
||||||
|
echo "C:\Program Files\PowerShell\7" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
|
||||||
|
|
||||||
|
- name: Install Git
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
choco install git -y
|
||||||
|
|
||||||
|
- name: Add Git to PATH
|
||||||
|
shell: powershell
|
||||||
|
run: |
|
||||||
|
echo "C:\Program Files\Git\cmd" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
|
||||||
|
- name: Check git version
|
||||||
|
run: |
|
||||||
|
git --version
|
||||||
|
|
||||||
- name: Check out repository code
|
- name: Check out repository code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
submodules: false
|
submodules: true
|
||||||
|
|
||||||
|
- name: Install 7-Zip
|
||||||
|
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: Build Python ${{ env.VERSION }}
|
- name: Build Python ${{ env.VERSION }}
|
||||||
run: |
|
run: |
|
||||||
@@ -104,7 +127,7 @@ jobs:
|
|||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
|
|
||||||
test_python:
|
test_python:
|
||||||
needs: [install_Pwsh_git, generate_matrix, build_python]
|
needs: [generate_matrix, build_python]
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
@@ -114,10 +137,38 @@ jobs:
|
|||||||
ARTIFACT_NAME: python-${{ inputs.VERSION || '3.12.3' }}-${{ matrix.platform }}-${{ matrix.arch }}
|
ARTIFACT_NAME: python-${{ inputs.VERSION || '3.12.3' }}-${{ matrix.platform }}-${{ matrix.arch }}
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
|
- name: Install Chocolatey
|
||||||
|
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
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
choco install powershell-core -y
|
||||||
|
- name: Add PowerShell to PATH
|
||||||
|
shell: powershell
|
||||||
|
run: |
|
||||||
|
echo "C:\Program Files\PowerShell\7" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
|
||||||
|
|
||||||
|
- name: Install Git
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
choco install git -y
|
||||||
|
|
||||||
|
- name: Add Git to PATH
|
||||||
|
shell: powershell
|
||||||
|
run: |
|
||||||
|
echo "C:\Program Files\Git\cmd" | Out-File -Append -FilePath $env:GITHUB_PATH -Encoding utf8
|
||||||
|
- name: Check git version
|
||||||
|
run: |
|
||||||
|
git --version
|
||||||
- name: Check out repository code
|
- name: Check out repository code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
submodules: false
|
submodules: true
|
||||||
|
|
||||||
- name: Fully cleanup the toolcache directory before testing
|
- name: Fully cleanup the toolcache directory before testing
|
||||||
run: ./helpers/clean-toolcache.ps1 -ToolName "Python"
|
run: ./helpers/clean-toolcache.ps1 -ToolName "Python"
|
||||||
@@ -133,6 +184,15 @@ jobs:
|
|||||||
name: ${{ env.ARTIFACT_NAME }}
|
name: ${{ env.ARTIFACT_NAME }}
|
||||||
path: ${{ runner.temp }}/${{ env.ARTIFACT_NAME }}
|
path: ${{ runner.temp }}/${{ env.ARTIFACT_NAME }}
|
||||||
|
|
||||||
|
- name: Install 7-Zip
|
||||||
|
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
|
- name: Extract files
|
||||||
run: |
|
run: |
|
||||||
if ('${{ matrix.platform }}' -eq 'win32') {
|
if ('${{ matrix.platform }}' -eq 'win32') {
|
||||||
@@ -174,7 +234,7 @@ jobs:
|
|||||||
|
|
||||||
- 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 }}";
|
||||||
@@ -196,7 +256,6 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/download-artifact@v4
|
- uses: actions/download-artifact@v4
|
||||||
|
|
||||||
|
|
||||||
- name: Publish Release ${{ env.VERSION }}
|
- name: Publish Release ${{ env.VERSION }}
|
||||||
id: create_release
|
id: create_release
|
||||||
uses: actions/create-release@v1
|
uses: actions/create-release@v1
|
||||||
|
|||||||
Reference in New Issue
Block a user