Skip to content

Commit f531130

Browse files
committed
fix(workflows): use Python 3.11 to match Alpine 3.19 baseline
Standardized to Python 3.11 across all Node.js builds to match Alpine 3.19's Python 3.11.14. This ensures consistency between standard GitHub Actions builds and Alpine Docker builds. Previous commit used 3.12, but aligning with Alpine's version provides better consistency and avoids potential discrepancies.
1 parent 62842da commit f531130

File tree

3 files changed

+12
-15
lines changed

3 files changed

+12
-15
lines changed

.github/workflows/build-sea.yml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -335,12 +335,11 @@ jobs:
335335
if: steps.check-platform.outputs.should-run == 'true' && steps.yoga-cache-valid.outputs.valid != 'true' && matrix.os != 'windows'
336336
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
337337
with:
338-
# Use 3.12 instead of 3.13 - gyp has hashlib compatibility issues with 3.13.
339-
# Error: TypeError: Strings must be encoded before hashing
338+
# Use 3.11 to match Alpine 3.19 (Docker builds) which ships Python 3.11.14.
339+
# Python 3.13 breaks gyp with: TypeError: Strings must be encoded before hashing
340340
# At: tools/gyp/pylib/gyp/generator/ninja.py:813 hashlib.md5(outputs[0])
341-
# Python 3.13 requires .encode() for hashlib, but gyp doesn't support it yet.
342-
# Alpine 3.19 (Docker builds) ships Python 3.11.14, not affected.
343-
python-version: '3.12'
341+
# Using 3.11 ensures consistency across standard and Alpine builds.
342+
python-version: '3.11'
344343

345344
- name: Cache Emscripten SDK (non-Windows)
346345
if: steps.check-platform.outputs.should-run == 'true' && steps.yoga-cache-valid.outputs.valid != 'true' && matrix.os != 'windows'

.github/workflows/build-smol.yml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -345,12 +345,11 @@ jobs:
345345
if: steps.smol-cache-valid.outputs.valid != 'true' || inputs.force
346346
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
347347
with:
348-
# Use 3.12 instead of 3.13 - gyp has hashlib compatibility issues with 3.13.
349-
# Error: TypeError: Strings must be encoded before hashing
348+
# Use 3.11 to match Alpine 3.19 (Docker builds) which ships Python 3.11.14.
349+
# Python 3.13 breaks gyp with: TypeError: Strings must be encoded before hashing
350350
# At: tools/gyp/pylib/gyp/generator/ninja.py:813 hashlib.md5(outputs[0])
351-
# Python 3.13 requires .encode() for hashlib, but gyp doesn't support it yet.
352-
# Alpine 3.19 (Docker builds) ships Python 3.11.14, not affected.
353-
python-version: '3.12'
351+
# Using 3.11 ensures consistency across standard and Alpine builds.
352+
python-version: '3.11'
354353

355354
- name: Verify Python installation
356355
if: steps.smol-cache-valid.outputs.valid != 'true' || inputs.force

.github/workflows/build-wasm.yml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -204,12 +204,11 @@ jobs:
204204
- name: Setup Python
205205
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0
206206
with:
207-
# Use 3.12 instead of 3.13 - gyp has hashlib compatibility issues with 3.13.
208-
# Error: TypeError: Strings must be encoded before hashing
207+
# Use 3.11 to match Alpine 3.19 (Docker builds) which ships Python 3.11.14.
208+
# Python 3.13 breaks gyp with: TypeError: Strings must be encoded before hashing
209209
# At: tools/gyp/pylib/gyp/generator/ninja.py:813 hashlib.md5(outputs[0])
210-
# Python 3.13 requires .encode() for hashlib, but gyp doesn't support it yet.
211-
# Alpine 3.19 (Docker builds) ships Python 3.11.14, not affected.
212-
python-version: '3.12'
210+
# Using 3.11 ensures consistency across standard and Alpine builds.
211+
python-version: '3.11'
213212

214213
- name: Cache pip packages
215214
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0

0 commit comments

Comments
 (0)