diff --git a/.github/workflows/build-python-packages.yml b/.github/workflows/build-python-packages.yml index a7db99b..638d564 100644 --- a/.github/workflows/build-python-packages.yml +++ b/.github/workflows/build-python-packages.yml @@ -41,7 +41,6 @@ jobs: 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() $matrix = @() - foreach ($configuration in $configurations) { $parts = $configuration.Split("_") $os = $parts[0] @@ -58,7 +57,6 @@ jobs: } } echo "matrix=$($matrix | ConvertTo-Json -Compress -AsArray)" >> $env:GITHUB_OUTPUT - build_python: needs: generate_matrix strategy: @@ -70,16 +68,51 @@ jobs: ARTIFACT_NAME: python-${{ inputs.VERSION || '3.12.3' }}-${{ matrix.platform }}-${{ matrix.arch }} 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 uses: actions/checkout@v4 with: 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 }} run: | ./builders/build-python.ps1 -Version $env:VERSION ` -Platform ${{ matrix.platform }} -Architecture ${{ matrix.arch }} - - name: Publish artifact uses: actions/upload-artifact@v4 with: @@ -98,6 +131,33 @@ jobs: ARTIFACT_NAME: python-${{ inputs.VERSION || '3.12.3' }}-${{ matrix.platform }}-${{ matrix.arch }} 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 uses: actions/checkout@v4 with: @@ -117,6 +177,14 @@ jobs: name: ${{ 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 run: | if ('${{ matrix.platform }}' -eq 'win32') { @@ -155,7 +223,6 @@ 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 @@ -190,7 +257,6 @@ jobs: release_name: ${{ env.VERSION }} body: | Python ${{ env.VERSION }} - - name: Generate hash for packages run: | $childItems = Get-Childitem -Path '.' @@ -238,4 +304,3 @@ jobs: workflow_id: 'create-pr.yml', ref: 'main' }); -