https://github.com/python/cpython/commit/4ebaf3f4596adfb4d508e2278cb9a08b39480d50
commit: 4ebaf3f4596adfb4d508e2278cb9a08b39480d50
branch: main
author: Brett Cannon <[email protected]>
committer: brettcannon <[email protected]>
date: 2026-03-04T13:27:47-08:00
summary:

Use bytecodealliance/setup-wasi-sdk-action to install the WASI SDK (#145445)

files:
M .github/workflows/reusable-wasi.yml

diff --git a/.github/workflows/reusable-wasi.yml 
b/.github/workflows/reusable-wasi.yml
index fb62f0d5164e07..8d76679a400c7f 100644
--- a/.github/workflows/reusable-wasi.yml
+++ b/.github/workflows/reusable-wasi.yml
@@ -13,8 +13,6 @@ jobs:
     timeout-minutes: 60
     env:
       WASMTIME_VERSION: 38.0.3
-      WASI_SDK_VERSION: 30
-      WASI_SDK_PATH: /opt/wasi-sdk
       CROSS_BUILD_PYTHON: cross-build/build
       CROSS_BUILD_WASI: cross-build/wasm32-wasip1
     steps:
@@ -26,18 +24,23 @@ jobs:
       uses: bytecodealliance/actions/wasmtime/setup@v1
       with:
         version: ${{ env.WASMTIME_VERSION }}
-    - name: "Restore WASI SDK"
-      id: cache-wasi-sdk
-      uses: actions/cache@v5
-      with:
-        path: ${{ env.WASI_SDK_PATH }}
-        key: ${{ runner.os }}-wasi-sdk-${{ env.WASI_SDK_VERSION }}
-    - name: "Install WASI SDK"  # Hard-coded to x64.
-      if: steps.cache-wasi-sdk.outputs.cache-hit != 'true'
+    - name: "Read WASI SDK version"
+      id: wasi-sdk-version
       run: |
-        mkdir "${WASI_SDK_PATH}" && \
-        curl -s -S --location 
"https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-${WASI_SDK_VERSION}/wasi-sdk-${WASI_SDK_VERSION}.0-arm64-linux.tar.gz";
 | \
-        tar --strip-components 1 --directory "${WASI_SDK_PATH}" --extract 
--gunzip
+        import tomllib
+        from pathlib import Path
+        import os
+        config = tomllib.loads(Path("Platforms/WASI/config.toml").read_text())
+        version = config["targets"]["wasi-sdk"]
+        with open(os.environ["GITHUB_OUTPUT"], "a") as f:
+            f.write(f"version={version}\n")
+      shell: python
+    - name: "Install WASI SDK"
+      id: install-wasi-sdk
+      uses: 
bytecodealliance/setup-wasi-sdk-action@b2de090b44eb70013ee96b393727d473b35e1728
+      with:
+        version: ${{ steps.wasi-sdk-version.outputs.version }}
+        add-to-path: false
     - name: "Install Python"
       uses: actions/setup-python@v6
       with:
@@ -51,6 +54,8 @@ jobs:
     - name: "Configure host"
       # `--with-pydebug` inferred from configure-build-python
       run: python3 Platforms/WASI configure-host -- --config-cache
+      env:
+        WASI_SDK_PATH: ${{ steps.install-wasi-sdk.outputs.wasi-sdk-path }}
     - name: "Make host"
       run: python3 Platforms/WASI make-host
     - name: "Display build info"

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]

Reply via email to