From e7a6ddfbe18964af95e23240f7388a83eef5e4ed Mon Sep 17 00:00:00 2001 From: James Sturtevant Date: Fri, 1 May 2026 17:16:09 -0700 Subject: [PATCH 1/4] Fix publishing step for windows Signed-off-by: James Sturtevant --- .github/workflows/publish.yml | 6 ++++++ Cargo.lock | 14 +++++++------- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 026d5e5..8602292 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -137,6 +137,9 @@ jobs: just wasm build release just js build release + - name: Compile WIT world + run: just wasm guest-compile-wit + - name: Build Windows native library run: just dotnet build-rust release @@ -186,6 +189,9 @@ jobs: just wasm build release just js build release + - name: Compile WIT world + run: just wasm guest-compile-wit + - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: dotnet-native-windows diff --git a/Cargo.lock b/Cargo.lock index ce6b441..7b3d10a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1725,7 +1725,7 @@ dependencies = [ [[package]] name = "hyperlight-javascript-sandbox" -version = "0.3.0" +version = "0.4.0" dependencies = [ "anyhow", "hyperlight-js", @@ -1782,7 +1782,7 @@ dependencies = [ [[package]] name = "hyperlight-sandbox" -version = "0.3.0" +version = "0.4.0" dependencies = [ "anyhow", "bitflags 2.11.1", @@ -1806,7 +1806,7 @@ dependencies = [ [[package]] name = "hyperlight-sandbox-backend-hyperlight-js" -version = "0.3.0" +version = "0.4.0" dependencies = [ "hyperlight-javascript-sandbox", "hyperlight-sandbox", @@ -1816,7 +1816,7 @@ dependencies = [ [[package]] name = "hyperlight-sandbox-backend-wasm" -version = "0.3.0" +version = "0.4.0" dependencies = [ "hyperlight-sandbox", "hyperlight-sandbox-pyo3-common", @@ -1826,7 +1826,7 @@ dependencies = [ [[package]] name = "hyperlight-sandbox-dotnet-ffi" -version = "0.3.0" +version = "0.4.0" dependencies = [ "anyhow", "hyperlight-javascript-sandbox", @@ -1841,7 +1841,7 @@ dependencies = [ [[package]] name = "hyperlight-sandbox-pyo3-common" -version = "0.3.0" +version = "0.4.0" dependencies = [ "anyhow", "hyperlight-sandbox", @@ -1912,7 +1912,7 @@ dependencies = [ [[package]] name = "hyperlight-wasm-sandbox" -version = "0.3.0" +version = "0.4.0" dependencies = [ "anyhow", "bytes", From 6d33dc956a6ab5bac28b7a7725b2d47eccbfc2f9 Mon Sep 17 00:00:00 2001 From: James Sturtevant Date: Fri, 1 May 2026 17:17:01 -0700 Subject: [PATCH 2/4] Make publishing step manually triggerable Signed-off-by: James Sturtevant --- .github/workflows/publish.yml | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 8602292..c68dda7 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -4,6 +4,17 @@ on: push: tags: - "v*" + workflow_dispatch: + inputs: + publish_target: + description: "What to run" + required: true + type: choice + options: + - all + - python + - dotnet + default: all permissions: contents: read @@ -11,7 +22,7 @@ permissions: jobs: # Build all Python packages on Linux (pure + backend wheels). build-linux: - if: ${{ !github.event.act }} + if: ${{ !github.event.act && (github.event_name != 'workflow_dispatch' || inputs.publish_target == 'all' || inputs.publish_target == 'python') }} name: Build Linux packages runs-on: ubuntu-latest steps: @@ -51,7 +62,7 @@ jobs: # Build Windows-specific maturin backend wheels only. build-windows: - if: ${{ !github.event.act }} + if: ${{ !github.event.act && (github.event_name != 'workflow_dispatch' || inputs.publish_target == 'all' || inputs.publish_target == 'python') }} name: Build Windows backend wheels runs-on: windows-latest steps: @@ -87,7 +98,7 @@ jobs: # Merge artifacts from both platforms and publish to PyPI. publish: - if: ${{ !github.event.act }} + if: ${{ !github.event.act && (github.event_name != 'workflow_dispatch' || inputs.publish_target == 'all' || inputs.publish_target == 'python') }} name: Publish to PyPI needs: [build-linux, build-windows] runs-on: ubuntu-latest @@ -115,7 +126,7 @@ jobs: # Build the Windows native library for the .NET P/Invoke NuGet package. dotnet-build-windows: - if: ${{ !github.event.act }} + if: ${{ !github.event.act && (github.event_name != 'workflow_dispatch' || inputs.publish_target == 'all' || inputs.publish_target == 'dotnet') }} name: Build Windows .NET native library runs-on: windows-latest steps: @@ -150,7 +161,7 @@ jobs: # Build and publish .NET NuGet packages. dotnet-publish: - if: ${{ !github.event.act }} + if: ${{ !github.event.act && (github.event_name != 'workflow_dispatch' || inputs.publish_target == 'all' || inputs.publish_target == 'dotnet') }} name: Publish .NET NuGet packages needs: [dotnet-build-windows] runs-on: ubuntu-latest From 7344aad9a200e34042c0d739ba95322301eaee2d Mon Sep 17 00:00:00 2001 From: James Sturtevant Date: Fri, 1 May 2026 17:41:28 -0700 Subject: [PATCH 3/4] install required tools Signed-off-by: James Sturtevant --- .github/workflows/publish.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index c68dda7..418b57d 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -137,6 +137,17 @@ jobs: cache-key: release-windows-dotnet rustflags: "" + - uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0 + + - name: Install Python + run: uv python install 3.12 + + - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 + with: + node-version: "latest" + cache: npm + cache-dependency-path: src/wasm_sandbox/guests/javascript/package-lock.json + - name: Install just run: cargo install --locked just @@ -182,6 +193,17 @@ jobs: with: dotnet-version: '8.0.x' + - uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0 + + - name: Install Python + run: uv python install 3.12 + + - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 + with: + node-version: "latest" + cache: npm + cache-dependency-path: src/wasm_sandbox/guests/javascript/package-lock.json + - name: Install just run: cargo install --locked just From 89e5b6479c1f042e9dbf931106894538c10e7d7e Mon Sep 17 00:00:00 2001 From: James Sturtevant Date: Fri, 1 May 2026 17:41:53 -0700 Subject: [PATCH 4/4] Fix the steps so they actually fail independently Signed-off-by: James Sturtevant --- .github/workflows/publish.yml | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 418b57d..29c4c51 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -154,10 +154,11 @@ jobs: - name: Install LLVM run: choco install llvm -y - - name: Build sandbox runtimes - run: | - just wasm build release - just js build release + - name: Build WASM sandbox runtime + run: just wasm build release + + - name: Build JavaScript sandbox runtime + run: just js build release - name: Compile WIT world run: just wasm guest-compile-wit @@ -217,10 +218,11 @@ jobs: sudo udevadm trigger --name-match=kvm sudo chmod 666 /dev/kvm - - name: Build sandbox runtimes - run: | - just wasm build release - just js build release + - name: Build WASM sandbox runtime + run: just wasm build release + + - name: Build JavaScript sandbox runtime + run: just js build release - name: Compile WIT world run: just wasm guest-compile-wit