@@ -63,37 +63,37 @@ jobs:
6363
6464 - name : Set Python version configuration
6565 id : python_config
66- shell : bash
66+ shell : pwsh
6767 run : |
68- case "${{ github.event.inputs.python_versionf }}" in
69- " 3.13")
70- echo " ver2=3.13.11.1" >> $GITHUB_OUTPUT
71- echo "v_tag=3_13_11_1" >> $ GITHUB_OUTPUT
72- echo " src=https://github.com/astral-sh/python-build-standalone/releases/download/20251205/cpython-3.13.11+20251205-x86_64-pc-windows-msvc-install_only_stripped.tar.gz" >> $GITHUB_OUTPUT
73- echo "sha=d8a2b5e05ef71fc71f048a6f409d69b940bc5d33da8b112611cfba68fc5b86c3" >> $ GITHUB_OUTPUT
74- ;;
75- " 3.14")
76- echo " ver2=3.14.2.1" >> $GITHUB_OUTPUT
77- echo "v_tag=3_14_2_1" >> $ GITHUB_OUTPUT
78- echo " src=https://github.com/astral-sh/python-build-standalone/releases/download/20251205/cpython-3.14.2+20251205-x86_64-pc-windows-msvc-install_only_stripped.tar.gz" >> $GITHUB_OUTPUT
79- echo "sha=512744d8a86dc6042a712035ada5d87c5e2ce4218f5dbdc74d039cee46e76fb4" >> $ GITHUB_OUTPUT
80- ;;
81- " 3.14F")
82- echo " ver2=3.14.2.1" >> $GITHUB_OUTPUT
83- echo "v_tag=3_14_2_1" >> $ GITHUB_OUTPUT
84- echo " src=https://github.com/astral-sh/python-build-standalone/releases/download/20251205/cpython-3.14.2+20251205-x86_64-pc-windows-msvc-freethreaded+pgo-full.tar.zst" >> $GITHUB_OUTPUT
85- echo "sha=536cf813857ea566fcfae18a1b7dbcd185385f1dc1f04d5a0951bad235c8fc61" >> $ GITHUB_OUTPUT
86- ;;
87- " 3.15")
88- echo " ver2=3.15.0.1" >> $GITHUB_OUTPUT
89- echo "v_tag=3_15_0_1" >> $ GITHUB_OUTPUT
90- echo " src=https://github.com/astral-sh/python-build-standalone/releases/download/20251217/cpython-3.15.0a3+20251217-x86_64-pc-windows-msvc-install_only_stripped.tar.gz" >> $GITHUB_OUTPUT
91- echo "sha=4cac37170050bb402eaabad84e7ceb4679ec8ffaf43fbea71d62651ca761dcd7" >> $ GITHUB_OUTPUT
92- ;;
93- esac
68+ switch ($env:PYTHON_VERSIONF) {
69+ ' 3.13' {
70+ Add-Content -Path $env:GITHUB_OUTPUT -Value ' ver2=3.13.11.1'
71+ Add-Content -Path $env: GITHUB_OUTPUT -Value 'v_tag=3_13_11_1'
72+ Add-Content -Path $env:GITHUB_OUTPUT -Value ' src=https://github.com/astral-sh/python-build-standalone/releases/download/20251205/cpython-3.13.11+20251205-x86_64-pc-windows-msvc-install_only_stripped.tar.gz'
73+ Add-Content -Path $env: GITHUB_OUTPUT -Value 'sha=d8a2b5e05ef71fc71f048a6f409d69b940bc5d33da8b112611cfba68fc5b86c3'
74+ }
75+ ' 3.14' {
76+ Add-Content -Path $env:GITHUB_OUTPUT -Value ' ver2=3.14.2.1'
77+ Add-Content -Path $env: GITHUB_OUTPUT -Value 'v_tag=3_14_2_1'
78+ Add-Content -Path $env:GITHUB_OUTPUT -Value ' src=https://github.com/astral-sh/python-build-standalone/releases/download/20251205/cpython-3.14.2+20251205-x86_64-pc-windows-msvc-install_only_stripped.tar.gz'
79+ Add-Content -Path $env: GITHUB_OUTPUT -Value 'sha=512744d8a86dc6042a712035ada5d87c5e2ce4218f5dbdc74d039cee46e76fb4'
80+ }
81+ ' 3.14F' {
82+ Add-Content -Path $env:GITHUB_OUTPUT -Value ' ver2=3.14.2.1'
83+ Add-Content -Path $env: GITHUB_OUTPUT -Value 'v_tag=3_14_2_1'
84+ Add-Content -Path $env:GITHUB_OUTPUT -Value ' src=https://github.com/astral-sh/python-build-standalone/releases/download/20251205/cpython-3.14.2+20251205-x86_64-pc-windows-msvc-freethreaded+pgo-full.tar.zst'
85+ Add-Content -Path $env: GITHUB_OUTPUT -Value 'sha=536cf813857ea566fcfae18a1b7dbcd185385f1dc1f04d5a0951bad235c8fc61'
86+ }
87+ ' 3.15' {
88+ Add-Content -Path $env:GITHUB_OUTPUT -Value ' ver2=3.15.0.1'
89+ Add-Content -Path $env: GITHUB_OUTPUT -Value 'v_tag=3_15_0_1'
90+ Add-Content -Path $env:GITHUB_OUTPUT -Value ' src=https://github.com/astral-sh/python-build-standalone/releases/download/20251217/cpython-3.15.0a3+20251217-x86_64-pc-windows-msvc-install_only_stripped.tar.gz'
91+ Add-Content -Path $env: GITHUB_OUTPUT -Value 'sha=4cac37170050bb402eaabad84e7ceb4679ec8ffaf43fbea71d62651ca761dcd7'
92+ }
93+ }
9494
9595 - name : Set static and matrix variables based on selected Python version
96- shell : bash
96+ shell : pwsh
9797 env :
9898 PYTHON_VERSIONF : ${{ env.PYTHON_VERSIONF }}
9999 WINPYARCHDET : ${{ env.WINPYARCHDET }}
@@ -103,46 +103,47 @@ jobs:
103103 V_TAG : ${{ steps.python_config.outputs.v_tag }}
104104 FLAVOR_NAME : ${{ matrix.flavor.name }}
105105 run : |
106- PYTHON_VERSION="${PYTHON_VERSIONF%F}" # remove trailing F if present
107- echo "PYTHON_VERSION=$PYTHON_VERSION" >> $GITHUB_ENV
108-
109- # Compute detected arch from the input (3.14F -> 64F)
110- detected_arch="64"
111- if [[ "$PYTHON_VERSIONF" == *F ]]; then
112- detected_arch="64F"
113- fi
114-
115- # compute build_location from WINPYVER2 (remove dots)
116- WINPYVER2="${WINPYVER2:-}"
117- BUILD_LOCATION="WPy64-${WINPYVER2//./}"
118- echo "build_location=$BUILD_LOCATION" >> $GITHUB_ENV
119-
120- WINPYREQUIREMENTS=""
121- WINPYREQUIREMENTSwhl=""
122- testreq="${my_cycle}/requir.64-${V_TAG}${FLAVOR_NAME}${my_release_level}.txt"
123- testwhl="${my_cycle}/requir.64-${V_TAG}${FLAVOR_NAME}_wheels${my_release_level}.txt"
124- echo "if $WINPYARCHDET=$detected_arch , search $testreq $testwhl $detected_arch"
125- if [ "$WINPYARCHDET" = "$detected_arch" ] && [[ -f "$testreq" ]] ; then
126- WINPYREQUIREMENTS="$testreq"
127- echo "Found $WINPYREQUIREMENTS"
128- if [[ -f "$testwhl" ]]; then
129- "WINPYREQUIREMENTSwhl=$testwhl"
130- echo "Found also $WINPYREQUIREMENTSwhl"
131- fi
132- fi
133- echo "WINPYREQUIREMENTS=$WINPYREQUIREMENTS" >> $GITHUB_ENV
134- echo "WINPYREQUIREMENTSwhl=$WINPYREQUIREMENTSwhl" >> $GITHUB_ENV
135-
136- # write common flavor env vars derived here rather than in the job env block
137- ARTIFACT_NAME="publish_${PYTHON_VERSION}${FLAVOR_NAME}"
138- echo "ARTIFACT_NAME=$ARTIFACT_NAME" >> $GITHUB_ENV
139-
140- echo "destwheelhouse=${BUILD_LOCATION}\\wheelhouse\\included.wheels" >> $GITHUB_ENV
141- WINPYVER="${WINPYVER2}${FLAVOR_NAME}${{ env.my_release_level }}"
142- echo "WINPYVER=$WINPYVER" >> $GITHUB_ENV
106+ # Normalize PYTHON_VERSION by removing trailing 'F' if present
107+ $PYTHON_VERSION = $env:PYTHON_VERSIONF -replace 'F$',''
108+ Add-Content -Path $env:GITHUB_ENV -Value "PYTHON_VERSION=$PYTHON_VERSION"
109+
110+ # Detect architecture (64 or 64F)
111+ $detected_arch = if ($env:PYTHON_VERSIONF -like '*F') { '64F' } else { '64' }
112+
113+ $WINPYVER2 = $env:WINPYVER2
114+ $BUILD_LOCATION = "WPy64-" + ($WINPYVER2 -replace '\\.', '')
115+ Add-Content -Path $env:GITHUB_ENV -Value "build_location=$BUILD_LOCATION"
116+
117+ $WINPYREQUIREMENTS = ''
118+ $WINPYREQUIREMENTSwhl = ''
119+ $testreq = "$($env:my_cycle)/requir.64-$($env:V_TAG)$($env:FLAVOR_NAME)$($env:my_release_level).txt"
120+ $testwhl = "$($env:my_cycle)/requir.64-$($env:V_TAG)$($env:FLAVOR_NAME)_wheels$($env:my_release_level).txt"
121+
122+ Write-Host "Checking for requirements files: $testreq and $testwhl (expected arch $detected_arch)"
123+
124+ if ($env:WINPYARCHDET -eq $detected_arch -and (Test-Path $testreq)) {
125+ $WINPYREQUIREMENTS = $testreq
126+ Write-Host "Found $WINPYREQUIREMENTS"
127+ if (Test-Path $testwhl) {
128+ $WINPYREQUIREMENTSwhl = $testwhl
129+ Write-Host "Found also $WINPYREQUIREMENTSwhl"
130+ }
131+ }
132+
133+ Add-Content -Path $env:GITHUB_ENV -Value "WINPYREQUIREMENTS=$WINPYREQUIREMENTS"
134+ Add-Content -Path $env:GITHUB_ENV -Value "WINPYREQUIREMENTSwhl=$WINPYREQUIREMENTSwhl"
135+
136+ $ARTIFACT_NAME = "publish_${PYTHON_VERSION}$($env:FLAVOR_NAME)"
137+ Add-Content -Path $env:GITHUB_ENV -Value "ARTIFACT_NAME=$ARTIFACT_NAME"
138+
139+ $destwheelhouse = "$BUILD_LOCATION\wheelhouse\included.wheels"
140+ Add-Content -Path $env:GITHUB_ENV -Value "destwheelhouse=$destwheelhouse"
141+
142+ $WINPYVER = "${WINPYVER2}$($env:FLAVOR_NAME)$($env:my_release_level)"
143+ Add-Content -Path $env:GITHUB_ENV -Value "WINPYVER=$WINPYVER"
143144
144145 # Store WINPYVER2 in env for later steps
145- echo "WINPYVER2=$WINPYVER2" >> $GITHUB_ENV
146+ Add-Content -Path $env:GITHUB_ENV -Value "WINPYVER2=$WINPYVER2"
146147
147148 - name : Download, verify and extract python standalone
148149 if : env.WINPYREQUIREMENTS != ''
0 commit comments