1313 - ' 3.14'
1414 - ' 3.14F'
1515 - ' 3.15'
16+
1617env :
1718 # === Global Configuration ===
1819 WINPYARCH : " 64"
1920 my_release_level : " b0"
20- dotwheelhouse : dotpython\\wheelhouse\\included.wheels
21+ dotwheelhouse : " dotpython\\ wheelhouse\\ included.wheels"
2122 pandoc_source : " https://github.com/jgm/pandoc/releases/download/3.1.9/pandoc-3.1.9-windows-x86_64.zip"
2223 pandoc_sha256 : " 11eb6dbe5286c9e5edb0cca4412e7d99ec6578ec04158b0b7fe11f7fd96688e5"
2324
@@ -78,36 +79,37 @@ jobs:
7879 formats : { zip: false, 7z: true, exe: true }
7980 PANDOC : " 1"
8081 WINPYARCHDET : " 64F"
81- # Use the workflow input as the single python_versionf matrix value
82- python_versionf : [ ${{ github.event.inputs.python_versionf }} ]
83- include :
84- # Configuration for 3.13
85- - python_versionf : " 3.13"
86- ver2 : " 3.13.11.1"
87- v_tag : " 3_13_11_"
88- 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"
89- sha : " d8a2b5e05ef71fc71f048a6f409d69b940bc5d33da8b112611cfba68fc5b86c3"
90- # Configuration for 3.14 (Standard)
91- - python_versionf : " 3.14"
92- ver2 : " 3.14.2.1"
93- v_tag : " 3_14_2_"
94- 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"
95- sha : " 512744d8a86dc6042a712035ada5d87c5e2ce4218f5dbdc74d039cee46e76fb4"
96- # Configuration for 3.14 (Free-threading override of flavor )
97- - python_versionf : " 3.14F"
98- ver2 : " 3.14.2.1"
99- v_tag : " 3_14_2_"
100- 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"
101- sha : " 536cf813857ea566fcfae18a1b7dbcd185385f1dc1f04d5a0951bad235c8fc61"
102- # Configuration for 3.15
103- - python_versionf : " 3.15"
104- ver2 : " 3.15.0.1"
105- v_tag : " 3_15_0_"
106- 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"
107- sha : " 4cac37170050bb402eaabad84e7ceb4679ec8ffaf43fbea71d62651ca761dcd7"
82+ # Use the workflow input as the single python_versionf matrix value
83+ python_versionf : [ ${{ github.event.inputs.python_versionf }} ]
84+ include :
85+ # Configuration for 3.13
86+ - python_versionf : " 3.13"
87+ ver2 : " 3.13.11.1"
88+ v_tag : " 3_13_11_"
89+ 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"
90+ sha : " d8a2b5e05ef71fc71f048a6f409d69b940bc5d33da8b112611cfba68fc5b86c3"
91+ # Configuration for 3.14 (Standard)
92+ - python_versionf : " 3.14"
93+ ver2 : " 3.14.2.1"
94+ v_tag : " 3_14_2_"
95+ 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"
96+ sha : " 512744d8a86dc6042a712035ada5d87c5e2ce4218f5dbdc74d039cee46e76fb4"
97+ # Configuration for 3.14F (Free-threading)
98+ - python_versionf : " 3.14F"
99+ ver2 : " 3.14.2.1"
100+ v_tag : " 3_14_2_"
101+ 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"
102+ sha : " 536cf813857ea566fcfae18a1b7dbcd185385f1dc1f04d5a0951bad235c8fc61"
103+ # Configuration for 3.15
104+ - python_versionf : " 3.15"
105+ ver2 : " 3.15.0.1"
106+ v_tag : " 3_15_0_"
107+ 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"
108+ sha : " 4cac37170050bb402eaabad84e7ceb4679ec8ffaf43fbea71d62651ca761dcd7"
108109
110+ # Keep job env minimal: avoid complex expression functions here (compute them in a step)
109111 env :
110- PYTHON_VERSIONF : ${{ github.event.inputs .python_versionf }}
112+ PYTHON_VERSIONF : ${{ matrix .python_versionf }}
111113 WINPYFLAVOR : ${{ matrix.flavor.name }}
112114 PANDOC : ${{ matrix.flavor.PANDOC }}
113115 WINPYARCHDET : ${{ matrix.flavor.WINPYARCHDET }}
@@ -119,26 +121,28 @@ jobs:
119121
120122 - name : Set static and matrix variables based on selected Python version
121123 shell : bash
124+ env :
125+ # pass the relevant matrix/job env values into the step
126+ PYTHON_VERSIONF : ${{ env.PYTHON_VERSIONF }}
127+ WINPYARCHDET : ${{ env.WINPYARCHDET }}
128+ WINPYVER2 : ${{ env.WINPYVER2 }}
129+ FLAVOR_NAME : ${{ matrix.flavor.name }}
122130 run : |
123- PYTHON_VERSION="${{ env.PYTHON_VERSION }}"
124- WINPYARCHDET="${{ env.WINPYARCHDET }}"
131+ PYTHON_VERSION="${PYTHON_VERSIONF%F}" # remove trailing F if present
132+ echo "PYTHON_VERSION=$PYTHON_VERSION" >> $GITHUB_ENV
133+
125134 # Compute detected arch from the input (3.14F -> 64F)
126135 detected_arch="64"
127136 if [[ "$PYTHON_VERSIONF" == *F ]]; then
128137 detected_arch="64F"
129138 fi
130- WINPYVER2="${{ env.WINPYVER2 }}"
131-
132- PYTHON_VERSION="${PYTHON_VERSIONF%F}" # remove trailing F if present
133- echo "PYTHON_VERSION=$PYTHON_VERSION" >> $GITHUB_ENV
134-
135- WINPYVERSION=${PYTHON_VERSION//./}
136- echo "WINPYVERSION=$WINPYVERSION" >> $GITHUB_ENV
137139
140+ # compute build_location from WINPYVER2 (remove dots)
141+ WINPYVER2="${WINPYVER2:-}"
138142 BUILD_LOCATION="WPy64-${WINPYVER2//./}"
139143 echo "build_location=$BUILD_LOCATION" >> $GITHUB_ENV
140144
141- # Populate generic per-flavor / per-version selections
145+ # Populate generic per-flavor / per-version selections using matrix-expanded values
142146 if [ "$PYTHON_VERSION" = "3.13" ]; then
143147 echo "WINPYREQUIREMENTS=${{ matrix.flavor.REQUIREMENTS_313 }}" >> $GITHUB_ENV
144148 echo "WINPYREQUIREMENTSwhl=${{ matrix.flavor.REQUIREMENTS_WHL_313 }}" >> $GITHUB_ENV
@@ -150,10 +154,13 @@ jobs:
150154 echo "WINPYREQUIREMENTSwhl=${{ matrix.flavor.REQUIREMENTS_WHL_315 }}" >> $GITHUB_ENV
151155 fi
152156
153- # write common flavor env vars
154- echo "ARTIFACT_NAME=publish_${PYTHON_VERSION}${{ matrix.flavor.name }}" >> $GITHUB_ENV
157+ # write common flavor env vars derived here rather than in the job env block
158+ ARTIFACT_NAME="publish_${PYTHON_VERSION}${FLAVOR_NAME}"
159+ echo "ARTIFACT_NAME=$ARTIFACT_NAME" >> $GITHUB_ENV
160+
155161 echo "destwheelhouse=${BUILD_LOCATION}\\wheelhouse\\included.wheels" >> $GITHUB_ENV
156- echo "WINPYVER=${WINPYVER2}${{ matrix.flavor.name }}${{ env.my_release_level }}" >> $GITHUB_ENV
162+ WINPYVER="${WINPYVER2}${FLAVOR_NAME}${{ env.my_release_level }}"
163+ echo "WINPYVER=$WINPYVER" >> $GITHUB_ENV
157164
158165 - name : Download, verify and extract python standalone
159166 if : env.WINPYREQUIREMENTS != ''
0 commit comments